B23
B23
#include<algorithm>
#include<map>
using namespace std;
bool cmp1(pair<int,int> x, pair<int,int> y)
{
if(x.second != y.second)
return x.second>y.second;
else
{
return x.first<y.first;
}
}
bool cmp2(pair<int,int> x, pair<int,int> y)
{
return x.second>y.second;
}
void in(vector<pair<int,int>> v)
{
for(auto it : v)
{
cout<<it.first<<" ";
cout<<endl;
}
}
void s1(vector<pair<int,int>> v)
{
sort(v.begin(),v.end(),cmp1);
in(v);
}
void s2(vector<pair<int,int>> v)
{
sort(v.begin(),v.end(),cmp2);
in(v);
}
int main()
{
int n;cin>>n;
vector<pair<int,int>> v;
map<int,int> m;
for(int i=0;i<n;i++)
{
int x;cin>>x;
m[x]++;
pair<int,int> t;
t.first=x;
t.second=0;
v.push_back(t);
}
for(int i=0;i<n;i++)
{
int x = v[i].first;
v[i].second=m[x];
}
s1(v);
s2(v);