Polycarp plays a well-known computer game (we won't mention its name). In this game, he can craft tools of two types — shovels and swords. To craft a shovel, Polycarp spends two sticks and one diamond; to craft a sword, Polycarp spends two diamonds and one stick.

Each tool can be sold for exactly one emerald. How many emeralds can Polycarp earn, if he has a sticks and b diamonds?

Input

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

The only line of each test case contains two integers a and b (0 ≤ a, b ≤ 10^9) — the number of sticks and the number of diamonds, respectively.

Output

For each test case print one integer — the maximum number of emeralds Polycarp can earn.

Example

Input


4
4 4
1000000000 0
7 15
8 7


Output


2
0
7
5

Note

In the first test case Polycarp can earn two emeralds as follows: craft one sword and one shovel.

In the second test case Polycarp does not have any diamonds, so he cannot craft anything.
import math
def fact(n):
    ans = 1
    for i in range(2, n+1):
        ans*= i
    return ans
def comb(n, c):
    return fact(n)//(fact(n-c)*c)

for _ in range(int(input())):
    a,b = map(int, input().split())
    ans = 0
    done = False
    if(a <=0 or b <= 0):
        done = True
    while(a > 0 and b > 0):
        if(a==1 and b ==1):
            done = True
            break
        if(b==a):
            break
        dif = min(abs(a-b), min(a,b))
        if(a > b):
            a-=dif*2
            b-=(dif)
            ans+=dif
        elif(b >= a):
            b-=dif*2
            a-=dif
            ans+=dif
    if(not done and a > 0 and b > 0):
        ans+=(a//3)*2
        a-=3*(a//3)
        b-=3*(b//3)
        if(a ==2):
            ans+=1
    print(ans)
