#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <utility>
#include <map>
#include <set>
#include <queue>
#include <iomanip>
#include <cmath>
#include <atcoder/all>
using namespace std;
using namespace atcoder;
typedef long long ll;
#define rep(i,n) for (int i = 0; i < int(n);i++)


int main(){
	int n,m;
	cin >> n >> m;
	dsu d(2*n);
	for (int i = 0; i < m;i++){
		int a,b;
		cin >> a >> b;
		a--;b--;
		if (!d.same(a,b)){
			d.merge(a,b);
		}
	}
	ll ans = 0;
	for (int i = 0; i < 2*n;i++){
		if (d.leader(i) != i) continue;
		else{
			ans += d.size(d.leader(i))%2;
		}
	}
	cout << ans/2 << endl;

	
	return 0;
}