#include <bits/stdc++.h>
using namespace std;
string s, s1;
set<string> ans;
int n, kol1, kol0, kolv, t;
bool f;
int main() {
  cin >> s;
  n = s.size();
  for (int i = 0; i < n; i++) {
    if (s[i] == '1')
      kol1++;
    else if (s[i] == '0')
      kol0++;
    else
      kolv++;
  }
  if (kol0 + kolv - kol1 > 0) ans.insert("00");
  if (kol1 + kolv - kol0 > 1) ans.insert("11");
  int a = n / 2 - kol0;
  int b = (n + 1) / 2 - kol1;
  if (a >= 0 && b >= 0) {
    if (s[--n] == '1' || s[n] == '?' && b) ans.insert("01");
    if (s[n] == '0' || s[n] == '?' && a) ans.insert("10");
  }
  set<string>::iterator it;
  for (it = ans.begin(); it != ans.end(); it++) cout << (*it) << endl;
  return 0;
}
