#include <bits/stdc++.h>
using namespace std;
const int N = 110000;
string s;
int n, cnt1, cnt0, cntq, m, p;
char last0, last1;
int may01, may10;
int main() {
  cin >> s;
  n = s.size();
  for (int i = 0; i < n; i++)
    if (s[i] == '1')
      cnt1++;
    else if (s[i] == '0')
      cnt0++;
    else
      cntq++;
  m = n / 2 + n % 2 - 1;
  p = n - m - 2;
  if (cnt1 <= m) puts("00");
  if (m + 1 - cnt1 <= cntq && m + 1 >= cnt1) {
    int q1 = (m + 1 - cnt1);
    int q0 = cntq - q1;
    if (q0 + cnt0 == p + 1) {
      if (s[n - 1] == '1' || (s[n - 1] == '?' && q1 > 0)) {
        may01 = 1;
      }
      if (s[n - 1] == '0' || (s[n - 1] == '?' && q0 > 0)) {
        may10 = 1;
      }
      if (may01) puts("01");
      if (may10) puts("10");
    }
  }
  if (cnt0 <= p) puts("11");
}
