import java.io.*;
import java.math.BigInteger;
import java.util.StringTokenizer;
class Main1 {
StringBuilder sb = new StringBuilder();
int t
= Integer.
parseInt(st.
nextToken()); for (int i = 0; i < t; i++) {
long l
= Long.
parseLong(st.
nextToken()); long r
= Long.
parseLong(st.
nextToken()); long gcd
= Long.
parseLong(st.
nextToken()); long div = l / gcd;
long remainder = l % gcd;
if (remainder != 0) {
++div;
}
long firstNumber = div * gcd;
if (firstNumber >= l && firstNumber <= r) {
long quantity = (r - firstNumber) / gcd + 1;
sb.append(quantity).append("\n");
} else {
sb.append(0).append("\n");
}
}
}
}
aW1wb3J0IGphdmEuaW8uKjsKaW1wb3J0IGphdmEubWF0aC5CaWdJbnRlZ2VyOwppbXBvcnQgamF2YS51dGlsLlN0cmluZ1Rva2VuaXplcjsKCmNsYXNzIE1haW4xIHsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBJT0V4Y2VwdGlvbiB7CiAgICAgICAgQnVmZmVyZWRSZWFkZXIgaW4gPSBuZXcgQnVmZmVyZWRSZWFkZXIobmV3IElucHV0U3RyZWFtUmVhZGVyKFN5c3RlbS5pbikpOwogICAgICAgIFN0cmluZ1Rva2VuaXplciBzdCA9IG5ldyBTdHJpbmdUb2tlbml6ZXIoaW4ucmVhZExpbmUoKSk7CiAgICAgICAgU3RyaW5nQnVpbGRlciBzYiA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7CiAgICAgICAgaW50IHQgPSBJbnRlZ2VyLnBhcnNlSW50KHN0Lm5leHRUb2tlbigpKTsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IHQ7IGkrKykgewogICAgICAgICAgICBzdCA9IG5ldyBTdHJpbmdUb2tlbml6ZXIoaW4ucmVhZExpbmUoKSk7CiAgICAgICAgICAgIGxvbmcgbCA9IExvbmcucGFyc2VMb25nKHN0Lm5leHRUb2tlbigpKTsKICAgICAgICAgICAgbG9uZyByID0gTG9uZy5wYXJzZUxvbmcoc3QubmV4dFRva2VuKCkpOwogICAgICAgICAgICBsb25nIGdjZCA9IExvbmcucGFyc2VMb25nKHN0Lm5leHRUb2tlbigpKTsKICAgICAgICAgICAgbG9uZyBkaXYgPSBsIC8gZ2NkOwogICAgICAgICAgICBsb25nIHJlbWFpbmRlciA9IGwgJSBnY2Q7CgogICAgICAgICAgICBpZiAocmVtYWluZGVyICE9IDApIHsKICAgICAgICAgICAgICAgICsrZGl2OwogICAgICAgICAgICB9CgogICAgICAgICAgICBsb25nIGZpcnN0TnVtYmVyID0gZGl2ICogZ2NkOwogICAgICAgICAgICBpZiAoZmlyc3ROdW1iZXIgPj0gbCAmJiBmaXJzdE51bWJlciA8PSByKSB7CiAgICAgICAgICAgICAgICBsb25nIHF1YW50aXR5ID0gKHIgLSBmaXJzdE51bWJlcikgLyBnY2QgKyAxOwogICAgICAgICAgICAgICAgc2IuYXBwZW5kKHF1YW50aXR5KS5hcHBlbmQoIlxuIik7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBzYi5hcHBlbmQoMCkuYXBwZW5kKCJcbiIpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIFN5c3RlbS5vdXQucHJpbnQoc2IpOwogICAgfQp9Cg==