#include<iostream>
#include<string>
#include<vector>
using namespace std;
const int MAXM=5*1e3+5;
vector<int>ezik[MAXM];
bool used[MAXM];
int main (){
    int n,m;
    cin>>n>>m;
    int a,b;
    for(int i=1;i<=m;i++){
        cin>>a>>b;
        ezik[a].push_back(i);
        ezik[b].push_back(i);
    }
    cout<<(m-m%2)/2<<"\n";
    for(int i=1;i<=n;i++){
        if(ezik[i].size()==2){
            if(!used[ezik[i][0]] and !used[ezik[i][1]]){
                cout<<ezik[i][0]<<" "<<ezik[i][1]<<"\n";
                used[ezik[i][0]]=true;
                used[ezik[i][1]]=true;
            }
        }
    }
    return 0;
}


