#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")