#include <bits/stdc++.h>
using namespace std;
const long long inf = 1e18;
const long long mod = 1e9 + 7;
const long long MOD = 998244353;
const long long MAX = 2e5 + 1;
inline long long add(long long a, long long b) {
  return ((a % mod) + (b % mod)) % mod;
}
inline long long sub(long long a, long long b) {
  return ((a % mod) - (b % mod) + mod) % mod;
}
inline long long mul(long long a, long long b) {
  return ((a % mod) * (b % mod)) % mod;
}
long long pwr(long long x, long long n) {
  if (n == 0) {
    return 1;
  }
  if (n & 1) {
    return mul(x, pwr(mul(x, x), (n - 1) / 2));
  } else {
    return pwr(mul(x, x), n / 2);
  }
}
long long modInv(long long n) { return pwr(n, mod - 2); }
long long gcd(long long a, long long b) {
  if (b == 0) {
    return a;
  }
  return gcd(b, a % b);
}
int toDigit(char ch) { return (ch - '0'); }
int main() {
  int t;
  cin >> t;
  while (t--) {
    int n, m, k;
    cin >> n >> m >> k;
    int nn = n / k;
    int kn = min(nn, m);
    int ans2 = m - kn;
    if (ans2 == 0) {
      cout << kn << "\n";
      continue;
    } else {
      k--;
      m -= kn;
      float mm = m;
      float sk = ceil(mm / k);
      cout << kn - sk << '\n';
    }
  }
  return 0;
}
