#include <stdio.h>
#include <bitset>
#include <vector>
using namespace std;
#define PB push_back
const int N=1e2+10;
bitset<N>went,in;
vector<int> graph[N];
bool f=true;
void dfs(int now){
    if(in[now]){
        f=false;
        return ;
    }
    else if(went[now])return ;
    in[now]=true;
    went[now]=true;
    for(int i=0;i<graph[now].size();i++)dfs(graph[now][i]);
    in[now]=false;
    return ;
}
int main(){
    int n,m,l,r;
    scanf("%d%d",&n,&m);
    while(m--){
        scanf("%d%d",&l,&r);
        graph[l].PB(r);
    }
    in.reset();
    went.reset();
    for(int i=0;i<n;i++)if(!went[i])dfs(i);
    
    if(f)printf("0\n");
    else printf("1\n");
}
