#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int n,m,sum[3];
vector<int>ve[10005];
bool vst[10005];
int ans=0,dress[10005];
bool dfs(int x,int color){
for(int i=0;i<ve[x].size();i++){
int v=ve[x][i];
if(vst[v]&&dress[v]==color){
return false;
}
if(!vst[v]){
vst[v]=1;
dress[v]=3-color;
sum[3-color]++;
if(!dfs(v,3-color))return false;
}
}
return true;
}
int main(){
cin>>n>>m;
while(m--){
int a,b;
cin>>a>>b;
ve[a].push_back(b);
ve[b].push_back(a);
}
memset(vst,false,sizeof(vst));
for(int i=1;i<=n;i++){
sum[1]=0;sum[2]=0;
if(!vst[i]){
vst[i]=1;
sum[1]++;
dress[i]=1;
if(!dfs(i,1)){
cout<<"Impossible"<<endl;
return 0;
}
ans+=min(sum[1],sum[2]);
}
}
cout<<ans<<endl;
return 0;
}