#include <bits/stdc++.h>
using namespace std;
int N, M, T;
set<long long> mm;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  int i, j, k;
  cin >> N;
  vector<int> ans;
  for (i = 0; i < N; i++) {
    cin >> k;
    mm.insert(k);
    if (i == 0) ans.push_back((k));
  }
  long long p2[40];
  p2[0] = 1;
  for (i = 1; i <= 32; i++) p2[i] = p2[i - 1] * 2;
  long long x, y, z;
  for (auto it = mm.begin(); it != mm.end(); it++) {
    for (i = 0; i <= 32; i++) {
      if (mm.find((*it) + p2[i]) != mm.end()) {
        if (ans.size() < 2) {
          ans.clear();
          ans.push_back(((*it)));
          ans.push_back(((*it) + p2[i]));
        }
        if (mm.find((*it) + p2[i] + p2[i]) != mm.end()) {
          if (ans.size() < 3) {
            ans.clear();
            ans.push_back(((*it)));
            ans.push_back(((*it) + p2[i]));
            ans.push_back(((*it) + p2[i] + p2[i]));
          }
        }
      }
    }
  }
  cout << ans.size() << '\n';
  for (i = 0; i < ans.size(); i++) cout << ans[i] << ' ';
  return 0;
}
