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 java.util.*;
import java.io.*;
import java.math.*;

public class Main
{
	public static void main(String[] args) {
		PrintWriter pw = new PrintWriter(System.out);
		Scanner s = new Scanner(System.in);
		int t = s.nextInt();
		
		while(t--!=0) {
		    int a = s.nextInt();
		    int b = s.nextInt();
		    
		    int min = Math.min(a, b);
		    int max = Math.max(a, b);
		    
		    if(2*min <= max) {
		        pw.println(min);
		    }else {
		        int ans = 0;
		        int f = min/3;
		        min = min%3;
		        max -= 3*f;
		        ans = 2*f;
		        if(min == 0) {
		            
		        }else if(min == 1) {
		            if(max>=2) {
		                ans++;
		            }
		        }else {
		            if(max>=4) {
		                ans += 2;
		            }else if(max>=2) {
		                ans++;
		            }
		        }
		        
		        pw.println(ans);
		    }
		}
		pw.flush();
	}
}
