#include <bits/stdc++.h>
using namespace std;
int visCircuit[222], deg[222], ind[222], outd[222];
vector<int> circuit, odd_degrees;
vector<pair<int, int>> answer;
set<pair<int, int>> g[222];
bool vis[222];
inline void heirholzer(int k) {
  int cur = k;
  stack<int> temake_pair;
  while (true) {
    int ct = g[cur].size();
    if (!ct) {
      visCircuit[cur] = 1;
      circuit.push_back(cur);
      if (temake_pair.size() == 0) break;
      cur = temake_pair.top();
      temake_pair.pop();
    } else {
      pair<int, int> nxt = *g[cur].begin();
      g[cur].erase(nxt);
      g[nxt.first].erase(make_pair(cur, nxt.second));
      if (nxt.second == 1) {
        ind[nxt.first]++;
        outd[cur]++;
        answer.emplace_back(cur, nxt.first);
      }
      temake_pair.push(cur);
      cur = nxt.first;
    }
  }
}
inline void dfs(int u) {
  vis[u] = 1;
  if (deg[u] & 1) odd_degrees.emplace_back(u);
  for (auto v : g[u])
    if (!vis[v.first]) dfs(v.first);
}
inline void insert(int u, int v, int typ) {
  g[u].insert(make_pair(v, typ));
  g[v].insert(make_pair(u, typ));
  deg[u]++;
  deg[v]++;
}
inline void reset(int n) {
  for (int x = 1; x <= n; x++) {
    g[x].clear();
    vis[x] = deg[x] = visCircuit[x] = 0;
    ind[x] = outd[x] = 0;
  }
  answer.clear();
  circuit.clear();
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  ;
  int t;
  cin >> t;
  while (t--) {
    int n, m;
    cin >> n >> m;
    for (int x = 1; x <= m; x++) {
      int u, v;
      cin >> u >> v;
      insert(u, v, 1);
    }
    int cnt = 0;
    for (int x = 1; x <= n; x++) cnt += !(deg[x] & 1);
    for (int x = 1; x <= n; x++) {
      if (!vis[x]) {
        odd_degrees.clear();
        dfs(x);
        int sz = (int)odd_degrees.size();
        for (int y = 0; y < sz - 1; y += 2) {
          int u = odd_degrees[y];
          int v = odd_degrees[y + 1];
          insert(u, v, 2);
        }
      }
    }
    for (int x = 1; x <= n; x++)
      if (!visCircuit[x]) heirholzer(x);
    cout << cnt << "\n";
    for (auto x : answer) cout << x.first << " " << x.second << "\n";
    reset(n);
  }
}
