#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 //tuple #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 using namespace std; constexpr long long int 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() { string S, T; char c; for (int i = 0; i < 3; i++) { cin >> c; S.push_back(c); } T = S; for (int i = 0; i < 3; i++) { if (T.at(i) == '?') { T.at(i) = '1'; } break; } if (JudgeKadomatsu(T.at(0) - '0', T.at(1) - '0', T.at(2) - '0')) { cout << 1; } T = S; for (int i = 0; i < 3; i++) { if (T.at(i) == '?') { T.at(i) = '4'; } break; } if (JudgeKadomatsu(T.at(0) - '0', T.at(1) - '0', T.at(2) - '0')) { cout << 4; } cout << endl; return 0; }