#include <bits/stdc++.h>
using namespace std;
const int N = 3e5+5;
int a[N];
map<int, int> best;
void build(int l, int r, int sm){
while(l < r){
if(a[l] + a[r] > sm) r--;
else if(a[l] + a[r] < sm) l++;
else {
best[sm]++;
l++;
r--;
}
}
}
// for(int i=1; i<=n; i++)
void solve(){
int n, k; cin >> n >> k;
for(int i=1; i<=n+k; i++) cin >> a[i];
for(int r=k+2; r<=n+k; r++){
int l = k+1;
build(l, r, a[l]+a[r]);
}
int mx = 0, sm = 0;
for(int l=k; l>=1; l--){
for(int r=l+1; r<=n+k; r++){
best[a[l]+a[r]]++;
if(mx < best[a[l]+a[r]]) mx = best[a[l]+a[r]], sm = a[l]+a[r];
}
}
vector<int> ans;
int l = 1, r = n+k;
while(l < r and ans.size() < n){
if(a[l] + a[r] > sm) r--;
else if(a[l] + a[r] < sm) l++;
else {
ans.push_back(a[l++]);
ans.push_back(a[r--]);
}
}
sort(ans.begin(), ans.end());
for(int i: ans) cout << i << ' ';
}
signed main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
solve();
}