// Do you knOW what it feels like?

		// To be TorTured by your own MinD?
	
	// I don't wanna feel the PAIN.

// I BeG you KILLING me, pleASE...

#include<bits/stdc++.h>
using namespace std;

#define F first
#define S second
#define pb push_back
#define all(x) x.begin(),x.end()
#define SZ(x) (int)(x.size())

typedef long long ll;
typedef pair<ll,ll> pll;

const ll maxn=1e5+10, mod=1e9+7, inf=1e18;

vector<ll> g[maxn];

set<pll> all;
ll out[maxn];
bool mk[maxn];

void pfs(ll v=1){
	mk[v]=1;
	for(auto u:g[v])if(!mk[u]){
		out[min(v,u)]--;
		all.erase({min(v,u),max(v,u)});
		pfs(u);
		if(out[u]%2){
			out[u]++;
			all.insert({u,v});
		}
		else{
			out[v]++;
			all.insert({v,u});
		}
	}
}

int main(){
	
	ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);

	ll n,m; cin>>n>>m;

	ll v,u;
	for(int i=0;i<m;i++){
		cin>>v>>u;

		if(v>u) swap(v,u);
		g[v].pb(u), g[u].pb(v);

		all.insert({v,u});
		out[v]++;
	}

	if(m%2) return cout<<-1, 0;

	pfs();

	for(auto x:all) cout<<x.F<<' '<<x.S<<endl;

	return 0;
}




















