#include #include #include using namespace std; template bool maxPointer(T& a, T b) { if (a < b) {a = b;return true;}return false;} template int maxReturn(T a, T b) {if (a > b) {return a;} else {return b;}} template bool minPointer(T& a, T b) {if (a < b) {a = b;return true;}return false;} const int life = 1000; const string failedMsg = "Impossible"; const string successMsg = "Possible"; int comboResult(int a, int b) { int bounus = 1; int addpoint = 50; int ans = 0; for (int i = 0; i < a + b; i++) { if (i == b) addpoint = 100; if (i != 0 && i % 100 == 0) bounus += bounus; ans += addpoint * bounus; } return ans; } int main(void){ int A,B,C,D; cin >> A >> B >> C >> D; if (life <= D * 100) { cout << failedMsg << endl; exit(0); } cout << successMsg << endl; cout << comboResult(A, B) << endl; }