25w14craftmine 是一个 愚人节玩笑 快照,也是所谓 “The Craftmine Update” 的唯一一个快照,发布于2025年4月1日。在此快照中,你可以 Craft(制作) 自己的专属 Mine(矿境)。在矿境中收集特定资源,升级装备技能打肉鸽......
Gouk 刚刚从一个矿境中传送回来,他带回来了一整个背包共计 n 个方块,折算成了 p 点经验值,兴奋过后,他突然回想起一个很重要的问题 —— 他到底带回来了哪些方块?
在这个矿境中,存在有三种方块:价值为 a 的土方块,价值为 b 的铁矿石,价值为 c 的钻石矿,请你帮他回忆一下,三种方块分别带回来了多少个?
形式上,给你五个正整数 n, p, a, b, c,求一个三元组 x, y, z, 使得
x + y + z = n
ax + by + cz = p
0 \leq x , y , z \leq n
由于他也不记得到底带回来哪些方块了,所以你只需要随便找一个可能的答案糊弄他就好。当然,他为了避免你乱答,可能会给你一些错误的信息,此时你就告诉他不可解,然后上去把他揍一顿,反正他肯定开了死亡不掉落。
输入
每个测试文件由多个测试用例组成。第一行包含一个整数 t (1 \leq t \leq 10^4) 表示测试用例数。
每个测试用例都包含五个整数 n, p, a, b, c (1 \leq n \leq 10^{12}, 0 \leq p \leq 10^{17}, 0 \leq a < b < c \leq 10^9) - 收集到的方块总数 n,折算的总价值 p,三种方块的价值 a, b, c。
输出
对于每个测试用例,输出一行,若无解,请输出 -1,若有解,输出三个非负整数 x, y, z ,若有多组解,输出任意一组解即可。
样例
| 标准输入 复制文本 |
3 30 60 0 1 3 10 51 2 4 5 20 60 3 5 15 |
| 标准输出 复制文本 |
10 0 20 -1 20 0 0 |