두 정수 수열 $a_1, a_2, \ldots, a_n$과 $b_1, b_2, \ldots, b_n$, 그리고 정수 $M$이 주어진다.
한 번의 연산에서는 두 정수 $l$과 $r$ ($1 \le l \le r \le n$)을 선택한다. 모든 $i$ ($l \le i \le r$)에 대해 $a_i$를 $\min(2 \cdot a_i, M)$으로 바꾼다.
$a$를 $b$로 바꾸는 데 필요한 연산 횟수의 최솟값을 구하라. 불가능하다면 $-1$을 출력하라.
입력
각 입력 파일에는 여러 테스트 케이스가 들어 있다. 첫 번째 줄에는 테스트 케이스의 수 $T$ ($1 \le T \le 10^4$)가 주어진다. 이어서 테스트 케이스의 설명이 주어진다.
각 테스트 케이스의 첫 번째 줄에는 두 정수 $n$과 $M$ ($1 \le n \le 2 \cdot 10^5$, $1 \le M \le 10^9$)이 주어진다.
두 번째 줄에는 초기 수열인 $n$개의 정수 $a_1, a_2, \ldots, a_n$ ($0 \le a_i \le M$)이 주어진다.
세 번째 줄에는 목표 수열인 $n$개의 정수 $b_1, b_2, \ldots, b_n$ ($0 \le b_i \le M$)이 주어진다.
모든 테스트 케이스에 대한 $n$의 합은 $2 \cdot 10^5$를 넘지 않음이 보장된다.
출력
각 테스트 케이스에 대해 $a$를 $b$로 바꾸는 데 필요한 연산 횟수의 최솟값을 출력하라. 불가능하다면 정수 $-1$ 하나를 출력하라.
예제
입력 1
2
5 10
1 3 0 6 2
4 10 0 10 8
3 12
3 4 0
12 10 0
출력 1
2
-1
참고
첫 번째 테스트 케이스에서는 구간 $[1, 5]$에 연산을 두 번 적용한다. 첫 번째 연산 후 수열은 $[2, 6, 0, 10, 4]$가 되고, 두 번째 연산 후에는 $[4, 10, 0, 10, 8]$이 된다. 따라서 답은 $2$이다.
두 번째 테스트 케이스에서는 연산을 몇 번 수행하더라도 두 번째 원소는 $4$, $8$, $12$ 중 하나만 될 수 있으므로, $10$이 될 수 없다.