#include <bits/stdc++.h>
using namespace std;
bool comp(const pair<long long, long long>& a,
          const pair<long long, long long>& b) {
  return a.second > b.second;
}
double EPSILON = numeric_limits<double>::epsilon();
bool AreSame(double a, double b) { return fabs(a - b) < EPSILON; }
struct classcomp {
  bool operator()(const pair<long long, long long>& lhs,
                  const pair<long long, long long>& rhs) const {
    return lhs.second > rhs.second;
  }
};
long long power(long long x, long long y, long long p) {
  long long res = 1;
  x = x % p;
  while (y > 0) {
    if (y & 1) res = (res * x) % p;
    y = y >> 1;
    x = (x * x) % p;
  }
  return res;
}
int main() {
  ios_base::sync_with_stdio(0), cin.tie(0);
  int t;
  cin >> t;
  while (t--) {
    long long l, r, d;
    cin >> l >> r >> d;
    if (d >= l and d <= r) d = (r / d + 1) * d;
    cout << d << endl;
  }
  return 0;
}

### Prompt

Construct a CPP code solution to the problem outlined:

You are given q queries in the following form:

Given three integers l_i, r_i and d_i, find minimum positive integer x_i such that it is divisible by d_i and it does not belong to the segment [l_i, r_i].

Can you answer all the queries?

Recall that a number x belongs to segment [l, r] if l ≤ x ≤ r.

Input

The first line contains one integer q (1 ≤ q ≤ 500) — the number of queries.

Then q lines follow, each containing a query given in the format l_i r_i d_i (1 ≤ l_i ≤ r_i ≤ 10^9, 1 ≤ d_i ≤ 10^9). l_i, r_i and d_i are integers.

Output

For each query print one integer: the answer to this query.

Example

Input


5
2 4 2
5 10 4
3 10 1
1 2 3
4 6 5


Output


6
4
1
3
10

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
bool comp(const pair<long long, long long>& a,
          const pair<long long, long long>& b) {
  return a.second > b.second;
}
double EPSILON = numeric_limits<double>::epsilon();
bool AreSame(double a, double b) { return fabs(a - b) < EPSILON; }
struct classcomp {
  bool operator()(const pair<long long, long long>& lhs,
                  const pair<long long, long long>& rhs) const {
    return lhs.second > rhs.second;
  }
};
long long power(long long x, long long y, long long p) {
  long long res = 1;
  x = x % p;
  while (y > 0) {
    if (y & 1) res = (res * x) % p;
    y = y >> 1;
    x = (x * x) % p;
  }
  return res;
}
int main() {
  ios_base::sync_with_stdio(0), cin.tie(0);
  int t;
  cin >> t;
  while (t--) {
    long long l, r, d;
    cin >> l >> r >> d;
    if (d >= l and d <= r) d = (r / d + 1) * d;
    cout << d << endl;
  }
  return 0;
}

```