#include<iostream>
#include<cstring>
using namespace std;
int trie[510000][26],bianhao[510000][26],degree[510000],f[510000],n,r;
int insert(char *color)
{
int i,j,k,l;
l=strlen(color);
j=0;
for(i=0;i<l;i++)
{
k=color[i]-'a';
if(trie[j][k]==0)
j=trie[j][k]=++r;
else
j=trie[j][k];
}
if(bianhao[j][k]==0)
bianhao[j][k]=++n;
return bianhao[j][k];
}
int find(int x)
{
while(f[x]!=0&&f[x]!=x)
x=f[x];
return x;
}
int main()
{
int i,sum,a,b;
char temp1[11],temp2[11];
n=r=0;
memset(f,0,sizeof(f));
memset(degree,0,sizeof(degree));
memset(trie,0,sizeof(trie));
memset(bianhao,0,sizeof(bianhao));
while(scanf("%s %s",temp1,temp2)!=EOF)
{
a=insert(temp1);
b=insert(temp2);
degree[a]++;
degree[b]++;
f[find(b)]=find(a);
}
sum=0;
for(i=1;i<=n;i++)
{
if(find(i)==i)
sum++;
if(sum>1)
{
printf("Impossible\n");
return 0;
}
}
sum=0;
for(i=1;i<=n;i++)
if(degree[i]%2!=0)
sum++;
if(sum>2)
printf("Impossible\n");
else
printf("Possible\n");
}