#include <bits/stdc++.h>
using namespace std;
const long long inf = 1e9 + 7;
const long long INF = 1LL << 60;
const long long mod = 1e9 + 7;
const long double eps = 1e-8;
const long double pi = acos(-1.0);
template <class T>
inline bool chmax(T& a, T b) {
  if (a < b) {
    a = b;
    return 1;
  }
  return 0;
}
template <class T>
inline bool chmin(T& a, T b) {
  if (a > b) {
    a = b;
    return 1;
  }
  return 0;
}
long long a, b, c, d;
long long num(long long x) {
  long long ret = (x + 1) * a;
  if (x * d - c >= 0) {
    long long j = (x * d - c) / d;
    ret -= (j + 1) * b * c;
    if (x - j - 1 > 0) {
      long long co = x - j - 1;
      ret -= b * d * (x - j - 1) * (x - j) / 2;
    }
  } else {
    if (x - 1 >= 0) {
      ret -= b * x * x * d;
      ret += b * d * x * (x - 1) / 2;
    }
  }
  return ret;
}
bool check(long long x) { return num(x - 1) < num(x); }
void solve() {
  cin >> a >> b >> c >> d;
  if (a > b * c) {
    cout << -1 << endl;
    return;
  }
  if (c + 1 <= d) {
    cout << a << endl;
    return;
  }
  long long ok = 0, ng = 1e7;
  while (ng - ok > 1) {
    long long mid = (ok + ng) / 2;
    if (check(mid))
      ok = mid;
    else
      ng = mid;
  }
  cout << num(ok) << endl;
}
signed main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  long long t;
  cin >> t;
  for (long long i = 0; i < t; i++) solve();
  return 0;
}
