// In the name of God. // You are anything and We're nothing // Ya Ali! #include using namespace std; const int maxn = 10; int n, m, l[maxn], r[maxn], per[maxn]; vector a, b, c; void solve(){ cin >> n >> m; a.resize(n); for(auto &x : a) cin >> x; b = a; for(int i = 0; i < m; i++){ cin >> l[i] >> r[i]; l[i]--; reverse(b.begin() + l[i], b.begin() + r[i]); } iota(per, per + m, 0); int cnt = 0; do{ c = a; for(int i = 0; i < m; i++) reverse(c.begin() + l[ per[i] ], c.begin() + r[ per[i] ]); cnt += b == c; } while(next_permutation(per, per + m)); int ta = 1; for(int i = 1; i <= n; i++) ta *= i; int g = __gcd(ta, cnt); cout << cnt / g << '/' << ta / g << '\n'; } int main(){ ios::sync_with_stdio(0), cin.tie(0); int t; cin >> t; while(t--) solve(); }