// editor5
#include<stdio.h>
#include<stdbool.h>
#define M 20
int g[M],v[M],s[M],n;
bool dfs(int x){
    int i;
    v[x=1];s[x]=1;
    for(i=0;i<n;i++){
        if(g[x][i]){
            if(!v[i]&&dfs(i))return 1;
            else if(s[i]) return 1;
        }
    }
    s[x]=0;
    return 0;
}
int main(){
    int m,i,a,b;
    scanf("%d%d",&n,&m);
    if(n<0 || m<0){
        printf("Invalid Input");
        return 0;
    }
    for(i=0;i<m;i++){
        scanf("%d%d",&a,&b);
        g[a][b]=1;
    }
    for(i=0;i<m;i++){
        if(!v[i]&&dfs(i)){
            printf("Impossible");
            return 0;
        }
    }
    printf("Possible");
}