描述
勘测星舰Hakodate−maru因其两个容量无限的燃料容器而闻名。这两个容器装载的是同一种原子燃料球。
然而,存在一个不便之处:燃料容器#1的形状始终是立方体,而燃料容器#2的形状始终是正四面体。两个燃料容器必须根据其形状完全填满或完全清空,否则燃料球会变得极不稳定,并可能在容器内爆炸。因此,容器#1中的燃料球数量必须是一个立方数(即n3,其中n=0,1,2,3,...),而容器#2中的燃料球数量必须是一个四面体数(即n(n+1)(n+2)/6,其中n=0,1,2,3,...)。
Hakodate−maru目前正在星基Goryokaku为下一次任务做准备,任务是绘制精确而详细的恒星和星际物质图。目前两个燃料容器均为空。Goryokaku的指挥官Parus将很快向Hakodate−maru的CaptainFuture发送消息,告知Goryokaku能够提供的燃料球数量。CaptainFuture需要在离开Goryokaku之前迅速向指挥官Parus回复她请求的燃料球数量。当然,CaptainFuture和她的船员希望尽可能多地获取燃料球。
例如,假设指挥官Parus提供了151200个燃料球。如果只有燃料容器#1可用(即燃料容器#2不可用),则最多可以放入148877个燃料球,因为148877=533且533=148877<151200<543=157464。如果只有燃料容器#2可用,则最多可以放入147440个燃料球,因为$147440=95 \times 96 \times 97 / 6 < 151200 < 96 \times 97 \times 98 / 6$。如果同时使用燃料容器#1和#2,则可以放入151200个燃料球,因为151200=393+81×82×83/6。在这种情况下,CaptainFuture的回复应该是“151200”。
由于Goryokaku燃料储存容量的限制,指挥官Parus提供的燃料球数量不会超过151200。CaptainFuture和她的船员非常清楚这一点。
你是Hakodate−maru上的一名燃料工程师。今天的职责是帮助CaptainFuture计算她应该请求的燃料球数量。
输入
输入是一组最多包含1024个正整数的序列。每行包含一个整数。序列以一个0结尾,表示输入结束,不应将其视为输入数据。你可以假设所有输入整数均不超过151200。
输出
输出由若干行组成,每行包含一个整数。每个输出整数应为不超过对应输入整数的最大整数,且可以表示为一个非负立方数和一个非负四面体数的和。输出中不应包含其他字符。
输入数据 1
100
64
50
20
151200
0
输出数据 1
99
64
47
20
151200
来源
Japan 2001