#ATabc006c. AT_abc006_3 [ABC006C] スフィンクスのなぞなぞ

AT_abc006_3 [ABC006C] スフィンクスのなぞなぞ

题目背景

新学期到来了,你正带着激动心情走在上学路上,突然斯芬克斯(狮身人面像)出现在了你的面前。这个斯芬克斯因为能出谜题而闻名于世,如果你不能回答他的谜题,你就会留级!

题目描述

谜题如下:

在这条街道上住着 NN 个人,其中有大人、老人、婴儿三种人。住在这条街的人们,拥有的腿的总数为 MM 条。我们假设大人有 22 条腿,老人有 33 条腿(有一条腿是拐杖),婴儿有 44 条腿(他们还不能直立行走)。请回答一个可能的、满足上述条件的住在这条街道上的人数数量组合的答案。

输入格式

仅一行,包含 NNMM,中间用一个空格隔开。

输出格式

请输出一个这条街道上住着的人的数量组合作为这道谜题的答案。 输出顺序为:大人人数、老人人数、婴儿人数,中间用一个空格隔开。

如果没有符合条件的数量组合,请输出 -1 -1 -1。请在行末输出一个换行符。

输入输出样例 #1

输入 #1

3 9

输出 #1

1 1 1

输入输出样例 #2

输入 #2

7 23

输出 #2

1 3 3

输入输出样例 #3

输入 #3

10 41

输出 #3

-1 -1 -1

说明/提示

这个问题有三组测试数据组,每个测试数组有不同的数据范围分。

若能答对 N(1N100),M(1M500)N(1 \le N \le 100),M(1 \le M \le 500) 范围的数据,可以得到 1010 分。

若能答对 N(1N1,500)N(1 \le N \le 1,500)M(1M7,500)M(1 \le M \le 7,500) 范围的数据,可以得到另外 2020 分。

若能答对 N105 N \leq 10^5 M5×105 M \leq 5 \times 10^5 范围内的数据,可以得到 100100 分。

样例解释

样例1

输入的数据表示一共有 33 个人,99 条腿。输出表示,一种可能的情况是 11 个大人,11 个老人,11 个婴儿。11 个大人共 22 条腿,11 个老人共 33 条腿,11 个婴儿共 44 条腿,加起来一共 33 个人,99 条腿。

样例2

11 个大人共 22 条腿,33 个老人共 99 条腿,33 个婴儿共 1212 条腿,加起来一共 77 个人,2323 条腿。

样例3

符合谜题要求的答案不存在,因此输出 -1 -1 -1