#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include //#include const double EPS = (1e-10); using namespace std; using Int = long long; //using namespace boost::multiprecision; const Int MOD = 1000000007; Int mod_pow(Int x, Int n) { Int res = 1; while(n > 0) { if(n & 1) res = (res * x) % MOD; //ビット演算(最下位ビットが1のとき) x = (x * x) % MOD; n >>= 1; //右シフト(n = n >> 1) } return res; } int main(){ cin.tie(0); int a[4]; for (int i = 0; i < 4; i++){ cin >> a[i]; } int ans = 0; if (a[3] >= 10) cout << "Impossible" << endl; else{ cout << "Possible" << endl; int tmp = a[0] + a[1]; for (int i = 1; i <= tmp; i++){ if (a[1] > 0){ ans += 50 * mod_pow(2, (i-1)/100); a[1]--; }else{ ans += 100 * mod_pow(2, (i-1)/100); a[0]--; } } cout << ans << endl; } }