#HT12887. 栅栏

栅栏

当前没有测试数据。

题目描述

小 L 初始拥有 NN 份木材和 MM 根木棒。

他可以进行任意次以下两种操作:

  • 消耗 22 份木材,得到 44 根木棒;
  • 消耗 44 份木材和 22 根木棒,修建 33 个栅栏。

每次操作只有在拥有足够资源时才能进行。

小 L 可以以任意顺序执行这些操作,也可以不执行某种操作。

请你求出,小 L 最多能够修建多少个栅栏。

本题有 TT 组测试数据,你需要分别回答每组询问。

输入格式

第一行一个正整数 TT,表示测试数据组数。

接下来 TT 行,每行两个整数 N,MN,M,分别表示初始拥有的木材数量和木棒数量。

输出格式

对于每组测试数据,输出一行一个整数,表示最多能够修建的栅栏数量。

样例

5
4 2
10 1
20 3
100 100
14 2
3
6
12
75
9

样例解释

对于第一组测试数据,可以直接消耗 44 份木材和 22 根木棒,修建 33 个栅栏。 对于第二组测试数据,可以先消耗 22 份木材得到 44 根木棒。 此时剩余 88 份木材和 55 根木棒,之后可以执行两次第二种操作,共修建 2×3=62 \times 3 = 6 个栅栏。

数据规模与约定

对于所有测试数据,保证:1≤T≤2×105, 1≤N,M≤10181 \le T \le 2 \times 10^5,\ 1 \le N,M \le 10^{18}。

子任务 分值 特殊限制
1 20 T≤100, N,M≤1000T \le 100,\ N,M \le 1000
2 T≤1000, N,M≤106T \le 1000,\ N,M \le 10^6
3 30 T≤104, N,M≤109T \le 10^4,\ N,M \le 10^9
4 无特殊限制

原题链接

原题链接