#HK5149. 「ROI 2015 Day 2」保护野生动物

「ROI 2015 Day 2」保护野生动物

题目描述

译自 ROI 2015 Day2 T1. Поможем дикой природе

野生自然研究基金会在 tt 年间每年都会拨款支持北方动物群的研究。有三个组织申请这些资助,其中一个研究海豹,一个研究驯鹿,第三个研究北极熊。

为了简化财务管理,基金会制定了以下规则:

  • 任何资助的金额必须是 22 的幂,即为 2k2^k,其中 kk 为某个非负整数;
  • 同一组织在同一年内获得的资助金额必须各不相同。

在第 ii 年,基金会计划完全分配 nin_i 个货币单位的资助。为了比较资金使用的效果,只能对比三个组织获得的相同金额的资助,这些资助被称为目标资助。如果能尽可能将更多总金额分配为目标资助,则资助方案被认为是最佳的。

例如,如果在当前年份总共分配了 4747 个货币单位的最佳方案是:为每个组织分配金额为 2288 的目标资助,总计 3030 个单位。剩余的 1717 个单位可以这样分配:例如,给第一个组织 1616 个单位,给第三个组织 11 个单位。分配 4747 个单位时,无法将超过 3030 个单位用于目标资助。

你的任务是编写一个程序,根据第 ii 年给定的总资助金额 nin_i,确定在最佳分配方案下应为三个组织各分配多少货币单位。

输入格式

输入数据的第一行包含一个整数 tt (1t100)(1 \le t \le 100),表示年数。

接下来的 tt 行,每行包含一个整数 nin_i,表示第 ii 年需要完全分配的资助总额。

输出格式

输出包含 tt 行,每行包含三个整数,分别表示在相应年份中应分配给三个组织的资助金额。如果存在多个最佳分配方案,输出其中任意一个即可。

3
4
21
47

0 0 4
7 7 7
26 10 11

数据范围与提示

详细子任务附加限制及分值如下表所示:

子任务 分值 nin_i 的限制
11 1616 1ni<641 \le n_i < 64
22 3333 1ni<5121 \le n_i < 512
33 1717 1ni<2171 \le n_i < 2^{17}
44 3434 1ni<2601 \le n_i < 2^{60}