#include <bits/stdc++.h>
#pragma GCC target("avx2")
#pragma GCC optimization("O3")
#pragma GCC optimization("unroll-loops")
#pragma GCC optimize("Ofast")
#pragma GCC target("avx,avx2,fma")
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  ;
  long long int t;
  cin >> t;
  while (t--) {
    long long int n, k, i, c = 1, p;
    cin >> n >> k;
    long long int a[n];
    set<long long int> s;
    for (i = 0; i < n; i++) {
      cin >> a[i];
      s.insert(a[i]);
    }
    if (s.size() <= k) {
      cout << 1;
    } else {
      if (k == 1)
        cout << -1;
      else {
        p = s.size();
        p -= k;
        if (p % (k - 1) != 0) c++;
        c += p / (k - 1);
        cout << c;
      }
    }
    cout << '\n';
  }
  return 0;
}
