#include<bits/stdc++.h>
using namespace std;
inline int read(){
int x=0,f=1;
char c=getchar();
while(c>'9'||c<'0'){ if(c=='-') f=-1;c=getchar(); }
while(c<='9'&&c>='0'){ x=x*10+c-'0';c=getchar(); }
return x*f;
}
inline void write(int x){
if(x<0){ putchar('-');x=-x; }
if(x>9) write(x/10);
putchar(x%10+'0');
}
int a[100005],b[100005];
signed main(){
int n=read();
priority_queue<int,vector<int>,greater<int> > q;
for(int i=1;i<=n;i++){
a[i]=read();
}
for(int i=1;i<=n;i++){
b[i]=read();
}
sort(a+1,a+1+n);
sort(b+1,b+1+n);
int nt=n;
if(n>1e4)nt/=50;
for(int i=1;i<=nt;i++){
for(int j=1;j<=nt;j++){
q.push(a[i]+b[j]);
}
}
for(int i=1;i<=n;i++){
cout<<q.top()<<' ';
q.pop();
}
return 0;
}