#include<iostream>
#include<cstring>
#include<vector>
#include<map>
#include<cstdio>
#include<algorithm>
using namespace std;
const int N = 1e5+5;
int n, m, tmp;
int Sum[N];
int main() {
for(int i=0; i<=N; i++) {
Sum[i] = 0;
}
cin >> n >> m;
for(int i=0; i<n; i++) {
cin >> tmp;
Sum[i] = tmp;
}
sort(Sum, Sum+n);
bool flag = false;
for(int i=0; i<n; i++) {
int j = upper_bound(Sum+i+1, Sum+n, m-Sum[i]-1)-Sum;
if(j <n && Sum[j]+Sum[i] == m) {
cout << Sum[i] << " "<< Sum[j] << endl;
return 0;
}
}
cout << "No Solution" << endl;
return 0;
}