#include using namespace std; int main() { int n; long long m; cin >> n >> m; vector A(n); for (int i = 0; i < n; i++) cin >> A[i]; sort(A.begin(), A.end()); vector B(n, false); B[0] = true; vector C; for (int i = 1; i < n; i++) { if (A[i] * (n - 1) < m) { cout << -1 << endl; return 0; } if (!B[i]) { long long k = A[i] * 2; for (int j = i + 1; j < n; j++) { if (A[j] > k) { cout << -1 << endl; return 0; } if (A[j] == k) { B[j] = true; k += A[i]; } } C.push_back(A[i]); } } cout << C.size() << endl; for (int i = 0; i < C.size(); i++) { if (i) cout << ' '; cout << C[i]; } cout << endl; return 0; }