题库练习 A Variety of Operations
← 上一题 下一题 →

A14385 | A Variety of Operations

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

![](/uploads/acgo/image/62b7327bf75c5b51_f1763c7973f2.jpeg)William has two numbers $a$ and $b$ initially both equal to zero. William mastered performing three different operations with them quickly. Before performing each operation some positive integer $k$ is picked, which is then used to perform one of the following operations: (note, that for each operation you can choose a new positive integer $k$ )

1. add number $k$ to both $a$ and $b$ , or
2. add number $k$ to $a$ and subtract $k$ from $b$ , or
3. add number $k$ to $b$ and subtract $k$ from $a$ .

Note that after performing operations, numbers $a$ and $b$ may become negative as well.

William wants to find out the minimal number of operations he would have to perform to make $a$ equal to his favorite number $c$ and $b$ equal to his second favorite number $d$ .

输入格式

Each test contains multiple test cases. The first line contains the number of test cases $t$ ( $1 \le t \le 10^4$ ). Description of the test cases follows.

The only line of each test case contains two integers $c$ and $d$ $(0 \le c, d \le 10^9)$ , which are William's favorite numbers and which he wants $a$ and $b$ to be transformed into.

输出格式

For each test case output a single number, which is the minimal number of operations which William would have to perform to make $a$ equal to $c$ and $b$ equal to $d$ , or $-1$ if it is impossible to achieve this using the described operations.

输入输出样例

输入 #1
6
1 2
3 5
5 3
6 6
8 0
0 0
输出 #1
-1
2
2
1
2
0
C++ 编辑器
输入
输出