Problem: Little Jhool is a world renowned  kangaroo trainer. He's now living in Australia, and is training kangaroos for his research project on mobile soccer. (We don't know the connection, too.) Anyway, for the project to be completed he observes kangaroos for a lot of time - because he wants to figure out the hop count for various kangaroos he's training.

Now, he makes a kangaroo stand at the starting point, and lets him jump to the finishing point - given the hop count 
of that  particular kangaroo, figure out the number of jumps he would take between the starting point to the ending point. Both the starting point and the ending points are inclusive.

Note: He will jump only to those positions which are multiples of M or hop count.

Input:
First line contains number of test cases T. Next T lines contains three integers A, B and M separated by single space.  A denoted the starting point, B the finishing point - and M, the hop count - the distance covered by that kangaroo in one jump.

Output: 
For each test case print the number of jumps the kangaroo had to make in the range [A, B] inclusive.  

Constraints:
1 ≤ T ≤ 100000
1 ≤ A ≤ B ≤ 10^12
1 ≤ M ≤ 10^12

SAMPLE INPUT
3
1 10 2
5 10 3
7 9 5SAMPLE OUTPUT
5
2
0

Explanation

Test Case #1:
There are 5 multiples of 2 that are {2,4,6,8,10} in range [1,10] .    

Test Case#2:
There are 2 multiples of 3  that are {6,9} in range [5,10] .  

Test Case#3:
There are no any multiple of 5 is there in range [7,9].

Solution (in PYTHON):

Solution:
#!/usr/bin/python
import math        

'''
http://math.stackexchange.com/questions/211445/how-many-multiples-of-x-lie-in-the-arbitrary-range-y-z
'''

TestCases = int(raw_input())
if 1 <= TestCases <= 100000:
    for i in range(TestCases):
        #1000000000000
        s = raw_input()
        n = map(float, s.split())
        print int(max(math.floor(n[1]/n[2])-math.ceil(n[0]/n[2])+1,0))
        #print int((n[1]/n[2])-(n[0]-1)/n[2])