#include <bits/stdc++.h>
using namespace std;
const int M = 5e6 + 5;
const long long int mod = 1e9 + 7;
const long long int inf = 9e18;
const double pi = 3.14159265358979323846;
long long int t, n, m, x, sum, k, p, u = 0, t1 = 1;
string s, z, ans = "";
long long int P[10000005] = {0};
void sieve() {
  for (long long int i = 2; i < (10000005); i++)
    if (!P[i])
      for (long long int j = i * i; j < (10000005); j += i) P[j] = i;
}
long long int raised(long long int x, long long int v) {
  if (v == 0) return 1 % mod;
  if (v % 2 == 1) return (x * raised(x, v - 1)) % mod;
  long long int r = raised(x, v / 2);
  return (r * r) % mod;
}
bool prime(long long int n) {
  if (n == 1) return 1;
  for (int i = 2; i <= sqrt(n); i++)
    if (n % i == 0) return 0;
  return 1;
}
long long int hcf(long long int a, long long int b) {
  if (a % b == 0) return b;
  return hcf(b, a % b);
}
bool comp(long long int a, long long int b) { return (a < b); }
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  ;
  cin >> t1;
  while (t1--) {
    cin >> n >> k >> s;
    z = "";
    for (long long int i = 0; i < k - 1; i++) z += "()";
    for (long long int i = 0; i < n / 2 - k + 1; i++) z += "(";
    for (long long int i = 0; i < n / 2 - k + 1; i++) z += ")";
    vector<pair<long long int, long long int> > v;
    for (long long int i = 0; i < n; i++) {
      if (z[i] != s[i]) {
        long long int j;
        for (j = i; j < n; j++)
          if (z[i] == s[j]) break;
        v.push_back(make_pair(i, j));
        ans = "";
        ans += s.substr(0, i);
        string g = "";
        k = j;
        while (j >= i) g += s[j--];
        ans += g;
        ans += s.substr(k + 1);
        s = ans;
      }
    }
    cout << (long long int)((v).size()) << "\n";
    for (long long int i = 0; i < (long long int)((v).size()); i++)
      cout << v[i].first + 1 << " " << v[i].second + 1 << "\n";
  }
}
