CF2219A Grid L

题目描述

Roger 有 $p$ 根单位长度的线段,以及 $q$ 个 L 型拼块,每个 L 型拼块由两根单位长度的线段以直角拼接而成。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF2219A/e40719d8c736a96f9c4c1bd8930e75ba63ef467222a195a96fc2235fee4888d7.png) 他想用所有这些线段与拼块(不能剩余)拼成一个 $n \times m$ 的网格。 给定 $p$ 和 $q$,判断是否存在正整数 $n$ 和 $m$,使得用恰好 $p$ 根单位线段和 $q$ 个 L 型拼块(可以旋转)正好拼出一个 $n \times m$ 的网格。若存在,输出任意一组合法的 $n$ 和 $m$。

输入格式

每组测试数据包含多组数据。 第一行输入测试组数 $t$($1 \le t \le 100$)。 随后 $t$ 行,每行输入两个整数 $p$ 和 $q$($1 \le p, q \le 10^8$)。

输出格式

对于每组测试数据,输出一行,如果存在方案,输出一组合法的 $n$ 和 $m$(空格分隔)。如果无法拼出,输出 $-1$。

说明/提示

下图展示了样例 2、3、4 的一种构造方式。不同 L 型拼块用不同颜色表示,所有单位线段用黑色表示。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF2219A/ae4195c6815054ee03fe14857702121e14744cab26eaac2c2896411c12fa7ed3.png) 由 ChatGPT 5 翻译