package main import . "fmt" import . "os" import bf "bufio" func main() { rd:=bf.NewReader(Stdin) wr:=bf.NewWriter(Stdout) defer wr.Flush() var t int Fscan(rd,&t) for ; t > 0 ; t-- { var n, m int Fscan(rd, &n,&m) ans := solve(n, m) Fprintln(wr,ans) } } func solve(n, m int) int { c := min(n/4, m/2) n -= 4*c m -= 2*c ans := 3*c c = n/10 n -= 10*c ans += 6*c c = n/6 ans += 3*c return ans } func solve2(n, m int) int { ans := 0 for c := max(n,m); c > 0; c-- { nn := c*4 mm := c*2 if mm > m { need := mm-m x := (need+3)/4 nn += 2*x } if nn > n { continue } ans = 3*c break } return ans } func solve3(n,m int) int { c := 0 for k:=max(n,m); k>=0; k-- { nn := n-2*k mm := m+4*k c = max(c, min(nn/4,mm/2)) } return c*3 } func init() { check() } func check() { for n:=0; n<=200; n++ { for m:=0; m<=200; m++ { a1 := solve(n,m) a2 := solve2(n,m) a3 := solve3(n,m) if a1 != a2 || a1 != a3 { println("a1=",a1) println("a2=",a2) println("a3=",a3) println("n=",n) println("m=",m) panic("WA") } } } }