#abc0063. [abc006_3]スフィンクスのなぞなぞ

[abc006_3]スフィンクスのなぞなぞ

问题描述

在你以新的心情踏上新学期的通学路上,一只史芬克斯拦住了你。
这只史芬克斯以出谜语而闻名,如果无法回答谜语,将被留级。

谜语如下:
"这个城市有 NN 个人。人可以分为成人、老人和婴儿三种。
假设在这个城市里,所有人的脚加起来一共有 MM 只,成人有两只脚,老人有三只脚,婴儿有四只脚。请你给出存在的人的组合中的一个。"

你不希望在新学期初就留级,所以你需要正确回答这个谜语。
请输出作为谜底的“这个城市存在的人的组合”。
如果不存在这样的组合,请输出 -1 -1 -1


输入

输入将从标准输入中获取,格式如下:NN MM 第一行包含一个整数 N(1N105)N(1≦N≦10^5),表示居住在这个城市的人数;第二行包含一个整数 M(1M5×105)M(1≦M≦5 \times 10^5),表示居住在这个城市的人的脚的总数;两个整数之间用半角空格分隔。

  • NNMM 是整数。
  • 这个问题有分数设置。请参考下面的分数设置部分。

输出

请输出作为谜底的“这个城市存在的人的组合”。输出格式为 "成人的数量 老人的数量 婴儿的数量",三个数之间用半角空格分隔,输出在一行上。
如果不存在这样的组合,请输出 -1 -1 -1

输出末尾必须换行。


分数设置

本问题包含三个数据集,每个数据集都有特定的部分分数。

  • 对于满足 N(1N100)N(1≦N≦100)M(1M500)M(1≦M≦500) 的所有数据集回答正确,将获得 10 分。
  • 对于满足 N(1N1,500)N(1≦N≦1,500)M(1M7,500)M(1≦M≦7,500) 的所有数据集回答正确,将额外获得 20 分(与前一个数据集不重叠)。
  • 对于回答所有数据集正确的情况,将获得 100 分。

输入示例 1

3 9

输出示例 1

1 1 1

输入表示这个城市有 3 个人,并且他们的脚的总数是 9。

输出表示城市里有 1 个成人,1 个老人和 1 个婴儿。

  • 1 个成人有 2 只脚。
  • 1 个老人有 3 只脚。
  • 1 个婴儿有 4 只脚。

这是一个由 3 个人和总共 9 只脚组成的示例组合。


输入示例 2

7 23

输出示例 2

1 3 3
  • 1 个成人有 2 只脚。
  • 3 个老人共有 9 只脚。
  • 3 个婴儿共有 12 只脚。

输入示例 3

10 41

输出示例 3

-1 -1 -1

这样的组合不存在。