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.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.StringTokenizer;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author abacaba
 */
public class a {
    public static void main(String[] args) {
        FS in = new FS(System.in);
        PrintWriter out = new PrintWriter(System.out);
        
        int t = in.nextInt(); int c = 0; while(c++<t) {
//            out.print("Case #" + c + ": ");
            new a().solve(in, out);
        }
        
        out.close();
    }
    
    void solve(FS in, PrintWriter out) {
        int a = in.nextInt();
        int b = in.nextInt();
        out.println(Math.min((a+b)/3, Math.min(a, b)));
    }
    
    static class FS {
        BufferedReader in; StringTokenizer tk;
        public FS(InputStream st) {
            in = new BufferedReader(new InputStreamReader(st));
            tk = new StringTokenizer("");
        }
        
        public String next() {
            if(tk.hasMoreTokens()) return tk.nextToken();
            try { tk = new StringTokenizer(in.readLine()); } catch(Exception e) {}
            return next();
        }
        
        public int nextInt() { return Integer.parseInt(next()); }
        public long nextLong() { return Long.parseLong(next()); }
        public double nextDouble() { return Double.parseDouble(next()); }
    }
}
