import core.stdc.stdio;
import std.math;
import std.algorithm;
import std.typecons;
import std.stdio;

void main(){
	int n;
	scanf("%d",&n);
	long[] x=new long[n],y=new long[n];
	foreach(i;0..n)
		scanf("%lld%lld",&x[i],&y[i]);
	alias Tuple!(long,"x",long,"y",int,"k") p;
	p[] ps = new p[n-1];
	foreach(i;0..n){
		int c;
		int u1;
		int u2;
		foreach(j;0..n)
			if(j<i){
				if(y[j]>=y[i]){
					ps[c++]=p(x[j]-x[i],y[j]-y[i],0);
					u1++;
				}else
					ps[c++]=p(x[i]-x[j],y[i]-y[j],1);
			}else if(j>i){
				if(y[j]>=y[i]){
					ps[c++]=p(x[j]-x[i],y[j]-y[i],2);
					u2++;
				}else
					ps[c++]=p(x[i]-x[j],y[i]-y[j],3);
			}
		sort!((a,b)=>a.x*b.y>a.y*b.x)(ps);
		if((u1==0||u1==i)&&(u2==0||u2==(n-i-1)))
			continue;
		bool ok=false;
		foreach(v;ps){
			if(v.k==0)
				u1--;
			else if(v.k==1)
				u1++;
			else if(v.k==2)
				u2--;
			else if(v.k==3)
				u2++;
			else
				assert(false);
			if((u1==0||u1==i)&&(u2==0||u2==(n-i-1))){
				ok=true;
				break;
			}
		}
		if(!ok){
			printf("Impossible\n");
			return;
		}
	}
	printf("Possible\n");
}