#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstring>
#define maxn 1010
using namespace std;
int fa[maxn];
int du[maxn];

int find(int x) {
    if (x == fa[x])return x;
    return fa[x] = find(fa[x]);
}


int main() {
    int N, M;
    while (cin >> N >> M) {
        int n1, n2;
        for(int i=0;i<=N;i++)fa[i]=i,du[i]=0;
        for (int i = 0; i < M; i++) {
            cin >> n1 >> n2;
            du[n1]++;
            du[n2]++;
            int f1 = find(n1);
            int f2 = find(n2);
            if (n1 != n2) {
                fa[f1] = f2;
            }
        }
        int cnt=0,flag=0;
        for(int i=0;i<=N;i++)
        {
            if(fa[i]==i&&du[i])cnt++;//入读为0的不考虑
        }
        if(cnt>1)cout<<0<<endl;
        else 
        {
            for(int i=0;i<N;i++)
            {
                if(du[i]%2!=0)flag=1;
            }
            if(flag)cout<<0<<endl;
            else cout<<1<<endl;
        }
        

    }
}
// 64 位输出请用 printf("%lld")