You are given two integers a and b, and q queries. The i-th query consists of two numbers l_i and r_i, and the answer to it is the number of integers x such that l_i ≤ x ≤ r_i, and ((x mod a) mod b) ≠ ((x mod b) mod a). Calculate the answer for each query.

Recall that y mod z is the remainder of the division of y by z. For example, 5 mod 3 = 2, 7 mod 8 = 7, 9 mod 4 = 1, 9 mod 9 = 0.

Input

The first line contains one integer t (1 ≤ t ≤ 100) — the number of test cases. Then the test cases follow.

The first line of each test case contains three integers a, b and q (1 ≤ a, b ≤ 200; 1 ≤ q ≤ 500).

Then q lines follow, each containing two integers l_i and r_i (1 ≤ l_i ≤ r_i ≤ 10^{18}) for the corresponding query.

Output

For each test case, print q integers — the answers to the queries of this test case in the order they appear.

Example

Input


2
4 6 5
1 1
1 3
1 5
1 7
1 9
7 10 2
7 8
100 200


Output


0 0 0 2 4 
0 91 
from random import randint
import sys

__author__ = 'ratmir'

[t] = [int(x) for x in sys.stdin.readline().split()]

for ti in range(0, t):
    a, b, q = [int(x1) for x1 in sys.stdin.readline().split()]
    res = []
    all = 0
    results = []
    cr = []
    for i in range(0, a * b):
        cr.append(all)
        if (i % a) % b != (i % b) % a:
            res.append(1)
            all += 1
        else:
            res.append(0)
    cr.append(all)
    # print cr
    for qi in range(0, q):
        l, r = [int(x1) for x1 in sys.stdin.readline().split()]
        #l = randint(1, 100)
        #r = l + randint(2 * a * b, 4 * a * b)

        l1 = l
        r1 = r
        result = 0

        #tr = 0
        #for i in range(l, r + 1):
        #    if (i % a) % b != (i % b) % a:
        #        tr += 1
        #   result += res[i]
        #print len(cr)
        #print a*b
        #print l%(a*b)
        if (r + 1) / (a * b) == l / (a * b):
            results.append(cr[(r + 1) % (a * b)] - cr[l % (a * b)])
            continue
        result += cr[a * b] - cr[l % (a * b)]
        l += a * b - l % (a * b)
        for i in range(0, (r + 1) % (a * b)):
            result += res[i]
        r -= (r + 0) % (a * b)
        if r > l:
            result += all * ((r + 1 - l) / (a * b))
        if r1%(a*b)==a*b-1:
            result += all
        #if tr != result:
        #    print l1, r1, l, r, tr, result
        results.append(result)
        #print result

    print(''.join('{} '.format(k) for k in results))

# 994974874371859201
