#include <bits/stdc++.h>
using namespace std;
void A();
void B();
void C();
void D();
void E();
void F();
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  A();
}
void A() {
  int T;
  cin >> T;
  for (int t = 1; t <= T; t++) {
    int N;
    cin >> N;
    vector<int> students(N);
    for (int& s : students) cin >> s;
    sort(students.begin(), students.end());
    vector<vector<int>> teams;
    for (int sPos = 0; sPos < students.size(); sPos++) {
      int stud = students[sPos];
      int team = 0;
      for (team = 0; team < teams.size(); team++) {
        int lastStud = teams[team][teams[team].size() - 1];
        if (lastStud < stud - 1) {
          break;
        }
      }
      if (team >= teams.size()) {
        teams.push_back(vector<int>{stud});
      } else {
        teams[team].push_back(stud);
      }
    }
    int result = teams.size();
    cout << result << endl;
  }
}
void B() {
  int T;
  cin >> T;
  for (int t = 1; t <= T; t++) {
    int N;
    cin >> N;
    int result = 0;
    cout << "Test Case #" << t << ": ";
    cout << result << endl;
  }
}
void C() {
  int T;
  cin >> T;
  for (int t = 1; t <= T; t++) {
    int N;
    cin >> N;
    int result = 0;
    cout << "Test Case #" << t << ": ";
    cout << result << endl;
  }
}
void D() {
  int T;
  cin >> T;
  for (int t = 1; t <= T; t++) {
    int N;
    cin >> N;
    int result = 0;
    cout << "Test Case #" << t << ": ";
    cout << result << endl;
  }
}
void E() {
  int T;
  cin >> T;
  for (int t = 1; t <= T; t++) {
    int N;
    cin >> N;
    int result = 0;
    cout << "Test Case #" << t << ": ";
    cout << result << endl;
  }
}
void F() {
  int T;
  cin >> T;
  for (int t = 1; t <= T; t++) {
    int N;
    cin >> N;
    int result = 0;
    cout << "Test Case #" << t << ": ";
    cout << result << endl;
  }
}
