对每个正整数 n,需要找到两个正整数 x,y,满足:
先看几个最小情况:
中转仓要把 2n 个标准箱分到东、西两个装车口。调度规程规定:两个装车口分到的箱数 x 与 y 必须满足 x+y=2n,且 x、y 都必须是合数(合数才能按固定托盘规格成组码放,允许两口数量相等)。
合数指大于 1 且不是质数的正整数;0 与 1 都不是合数。
若无法完成这样的分配,输出 −1;多组合法方案可输出任意一组。
约束:测试组数不超过 200000,n 不超过 1000000。
第一行一个整数 T,表示测试组数,满足 1≤T≤200000。 接下来 T 行,每行一个整数 n,满足 1≤n≤1000000。
对每组数据输出一行:若有解,输出两个用空格分隔的正整数 x 和 y;若无解,输出 −1。
输入
4
2
5
10
3
输出
-1
4 6
4 16
-1
说明
共 4 组。
n=2 时 2n=4,不能拆成两个合数,输出 −1。
n=5 时构造 x=4,y=6,二者都是合数。
n=10 时构造 4 与 16。
n=3 时无解,输出 −1。
输入
1
100
输出
4 196
说明
只有一组 n=100。 n≥4,直接构造 x=4,y=2×100−4=196。
输入
3
4
8
1
输出
4 4
4 12
-1
说明
n=4 时 y=4,输出 4 4。
n=8 时输出 4 12。
n=1 时无解,输出 −1。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册