#define _USE_MATH_DEFINES #include //cin, cout #include //vector #include //sort,min,max,count #include //string,getline, to_string #include //abs(int) #include //swap, pair #include //deque #include //INT_MAX #include //bitset #include //sqrt, ceil. M_PI, pow, sin #include //fixed #include //setprecision #include //stringstream #include //gcd, assumlate #include //randam_device #include //numeric_limits #include //tm using namespace std; constexpr int64_t D_MOD = 1000000007; inline bool JudgeKadomatsu(int a, int b, int c) { //門松列か判定する if (a == b || b == c || c == a) { return false; } if (b == max({ a, b, c }) || b == min({ a, b, c })) { return true; } else { return false; } } int main() { char c; vector A; for (int i = 0; i < 3; i++) { cin >> c; if (c == '?') { A.push_back(1); } else { A.push_back(c - '0'); } } if (JudgeKadomatsu(A.at(0), A.at(1), A.at(2))) { cout << 1; } for (int i = 0; i < 3; i++) { if (A.at(i) == 1) { A.at(i) = 4; break; } } if (JudgeKadomatsu(A.at(0), A.at(1), A.at(2))) { cout << 4; } cout << endl; return 0; }