#include <algorithm>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <cstdlib>
#include <climits>
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <stack>
#include <queue>
#include <deque>
#include <set>
#include <map>
using namespace std;
int M, N;
string s;
#define FOR(i, N) for(int i = 0; i < N; i++)
#define FOR1e(i, N) for(int i = 1; i <= N; i++)
#define REP(i, M, N) for(int i = M; i < N; i++)
#define REPe(i, M, N) for(int i = M; i <= N; i++)
#define sc(N) scanf("%d", &N)
#define scsc(M, N) scanf("%d %d", &M, &N)
#define gt(s) getline(cin, s)
#define ll long long
#define vi vector <int>
#define mp make_pair
#define pb push_back
#define mx 505
int arr[10], dp[10][505];
//505 because maximum positive = 50*5 = 250, minimum negative -250, so 250*2 values = 500 values
int fun(int i, int val){
int &ret = dp[i][val];
if(i == 5)
return ret = val == 23;
if(ret != -1)
return ret;
return ret = (fun(i+1, val+arr[i]) || fun(i+1, val-arr[i]) || fun(i+1, val*arr[i]));
}
int main(){
// freopen("in.txt", "r", stdin);
while(sc(arr[0]) != EOF){
REP(i, 1, 5) sc(arr[i]);
if(!arr[0] && !arr[1] && !arr[2] && !arr[3] && !arr[4]) break;
sort(arr, arr+5);
bool b = 0;
do{
memset(dp, -1, sizeof dp);
if(fun(1, arr[0])) b = 1;
}while(next_permutation(arr, arr+5) && !b);
puts((b) ? "Possible":"Impossible");
}
return 0;
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGNtYXRoPgojaW5jbHVkZSA8Y3N0cmluZz4KI2luY2x1ZGUgPGNzdGRsaWI+CiNpbmNsdWRlIDxjbGltaXRzPgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDxzdHJpbmc+CiNpbmNsdWRlIDxzc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c3RhY2s+CiNpbmNsdWRlIDxxdWV1ZT4KI2luY2x1ZGUgPGRlcXVlPgojaW5jbHVkZSA8c2V0PgojaW5jbHVkZSA8bWFwPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBNLCBOOwpzdHJpbmcgczsKI2RlZmluZSBGT1IoaSwgTikgZm9yKGludCBpID0gMDsgaSA8IE47IGkrKykKI2RlZmluZSBGT1IxZShpLCBOKSBmb3IoaW50IGkgPSAxOyBpIDw9IE47IGkrKykKI2RlZmluZSBSRVAoaSwgTSwgTikgZm9yKGludCBpID0gTTsgaSA8IE47IGkrKykKI2RlZmluZSBSRVBlKGksIE0sIE4pIGZvcihpbnQgaSA9IE07IGkgPD0gTjsgaSsrKQojZGVmaW5lIHNjKE4pIHNjYW5mKCIlZCIsICZOKQojZGVmaW5lIHNjc2MoTSwgTikgc2NhbmYoIiVkICVkIiwgJk0sICZOKQojZGVmaW5lIGd0KHMpIGdldGxpbmUoY2luLCBzKQojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIHZpIHZlY3RvciA8aW50PgojZGVmaW5lIG1wIG1ha2VfcGFpcgojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIG14IDUwNQoKaW50IGFyclsxMF0sIGRwWzEwXVs1MDVdOwovLzUwNSBiZWNhdXNlIG1heGltdW0gcG9zaXRpdmUgPSA1MCo1ID0gMjUwLCBtaW5pbXVtIG5lZ2F0aXZlIC0yNTAsIHNvIDI1MCoyIHZhbHVlcyA9IDUwMCB2YWx1ZXMKCmludCBmdW4oaW50IGksIGludCB2YWwpewoJaW50ICZyZXQgPSBkcFtpXVt2YWxdOwoJaWYoaSA9PSA1KQoJCXJldHVybiByZXQgPSB2YWwgPT0gMjM7CglpZihyZXQgIT0gLTEpCgkJcmV0dXJuIHJldDsKCXJldHVybiByZXQgPSAoZnVuKGkrMSwgdmFsK2FycltpXSkgfHwgZnVuKGkrMSwgdmFsLWFycltpXSkgfHwgZnVuKGkrMSwgdmFsKmFycltpXSkpOwp9CgppbnQgbWFpbigpewovLwlmcmVvcGVuKCJpbi50eHQiLCAiciIsIHN0ZGluKTsKCXdoaWxlKHNjKGFyclswXSkgIT0gRU9GKXsKCQlSRVAoaSwgMSwgNSkgc2MoYXJyW2ldKTsKCQlpZighYXJyWzBdICYmICFhcnJbMV0gJiYgIWFyclsyXSAmJiAhYXJyWzNdICYmICFhcnJbNF0pIGJyZWFrOwoJCXNvcnQoYXJyLCBhcnIrNSk7CgkJYm9vbCBiID0gMDsKCQlkb3sKCQkJbWVtc2V0KGRwLCAtMSwgc2l6ZW9mIGRwKTsKCQkJaWYoZnVuKDEsIGFyclswXSkpIGIgPSAxOwoJCX13aGlsZShuZXh0X3Blcm11dGF0aW9uKGFyciwgYXJyKzUpICYmICFiKTsKCQlwdXRzKChiKSA/ICJQb3NzaWJsZSI6IkltcG9zc2libGUiKTsKCX0KCXJldHVybiAwOwp9