#include <bits/stdc++.h>
using namespace std;
const int N = 3e5+5;
unordered_map<int, int> pos;
int a[N];
vector<int> build(int l, int r, int sm, int k){
int sz = r-l+1;
vector<int> ans;
while(l < r){
if(a[l] + a[r] == sm) {
ans.push_back(a[l]);
ans.push_back(a[r]);
l++, r--;
continue;
}
if(a[l] + a[r] > sm){
r--;
continue;
}
break;
}
if(ans.size() >= sz - k) return ans;
return {};
}
// 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 i=1; i<=n+k; i++) pos[a[i]] = i;
// build(1, 4, 5, 0);
// return;
for(int l=1; l<=2+k; l++){
for(int r=n-2; r<=n+k; r++){
if(l >= r) continue;
int sm = a[l] + a[r];
if(l-1 + n+k-r > k) continue;
//
vector<int> ans = build(l, r, sm, k - (l-1 + n+k-r));
if(ans.size()) {
sort(ans.begin(), ans.end());
while(ans.size() > r-l+1 - (k - (l-1 + n+k-r))) {
ans.pop_back();
ans.erase(ans.begin());
}
for(int i: ans) cout << i << " ";
return;
}
//
}
}
}
signed main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
solve();
}