#CF2219A. L 形网格拼图

L 形网格拼图

题目描述

Roger 拥有 pp 条单位长度线段,还有 qq 个 L 型构件。每个 L 型构件都由两条单位长度线段垂直拼接而成。

他打算用完所有线段和构件,一个也不剩余,拼接成一个 n×mn \times m 的网格。

给定 ppqq,请你判断是否存在正整数 n,mn,m,使得可以恰好使用 pp 条单位长度线段、qq 个 L 型构件拼成 n×mn \times m 网格(构件可以任意旋转)。 若存在,输出任意一组合法的 n,mn,m;若不存在,输出 1-1

输入格式

本题有多组测试数据。 第一行输入测试组数 tt1t1001 \le t \le 100)。

每组测试数据一行,输入两个整数 p,qp,q1p,q1081 \le p,q \le 10^8)。

输出格式

对每组测试数据,输出任意一组合法的正整数 n,mn,m。 如果无法构造,直接输出 1-1

7
1 2
1 3
5 1
2 5
2 10
100000000 100000000
1 1
-1
1 2
1 2
2 2
2 4
-1
-1

注释说明

下面给出样例 2,3,42,3,4 的构造方案。 图中用不同颜色区分各个 L 型构件,黑色线条代表所有单位长度线段。

来源

https://codeforces.com/contest/2219/problem/A