#include<stdio.h>
#include<stdlib.h>
#include<stdbool.h>
#define MAX_VERTICES 20
void DFS(int graph[MAX_VERTICES][MAX_VERTICES],bool visited[],int vertex,int n){
    visited[vertex]=true;
    for(int i=0;i<n;i++){
        if(graph[vertex][i]==1&&!visited[i]){
            DFS(graph,visited,i,n);
        }
    }
}
int main(){
    int n,e;
    scanf("%d%d",&n,&e);
    if(n<0||e<0||n>10){
        printf("Invalid input\n");
        return 0;
    }
    int graph[MAX_VERTICES][MAX_VERTICES]={0};
    for(int i=0;i<e;i++){
        int u,v;
        scanf("%d%d",&u,&v);
        if(u>=0&&u<n&&v>=0&&v<n){
            graph[u][v]=1;
        }
    }
    bool visied[MAX_VERTICES]={false};
    DFS(graph,visited,0,n);
    bool connected=true;
    for(int i=0;i<n;i++){
        if(!visited[i]){
            connected=false;
            break;
        }
    }
    if(connected){
        printf("True\n");
    }else{
        printf("False\n");
    }
    return 0;
}