#include<bits/stdc++.h>
using namespace std;
int n,m,a,b,f[1000005],fa[1000005],cao[1000005],cnm[1000005],cnt,ans,k;
bool fuck[1000005],ccf[1000005];
int find(int x){
if(x==fa[x]){
return x;
}
return fa[x]=find(fa[x]);
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
fa[i]=i;
}
for(int i=1;i<=m;i++){
cin>>a>>b;
f[a]++,f[b]++;
fa[find(a)]=find(b);
}
for(int i=1;i<=n;i++){
if(!fuck[find(i)]){
cnm[++cnt]=find(i);
cao[find(i)]=cnt;
fuck[find(i)]=1;
}
cao[i]=cao[find(i)];
if(f[i]%2){
ccf[cao[i]]=1;
k++;
}
}
if(cnt==1){
cout<<k/2;
return 0;
}
for(int i=1;i<=cnt;i++){
if(!ccf[i]){
ans+=2;
}
}
cout<<(ans+k)/2;
}