Module: 动态规划。基本


Problem

3 /5


我们玩鹅卵石

Problem

曾几何时,我们都喜欢玩“鹅卵石”游戏。或有人称之为“五颗鹅卵石”。 对于游戏,需要普通的鹅卵石,这些鹅卵石很容易在街上找到。可以在任何地方玩; 游戏的第一步如下。所有五颗鹅卵石都被扔到他们面前的地上。其中之一被选中。这是母球。这颗鹅卵石被扔到空中,当它飞起来时,有必要捡起留在地上的一颗鹅卵石,并有时间用同一只手抓住飞翔的鹅卵石。捡起的鹅卵石放在一边,对所有剩余的鹅卵石重复该动作。
在接下来的步骤中,要拾取的鹅卵石数量会增加。最后一步是考试,需要将收集到的小石子全部抛向空中,用手背接住,然后再次抛掷,用张开的手掌接住。到底剩下多少鹅卵石,就得到多少分。轮到下一个玩家,他也重复所有步骤。然后新一轮的比赛开始了。 获胜者是所有回合中得分最多的人。
很多人以各种方式让游戏变得困难。
假设这些家伙在地上有无数颗鹅卵石。在本轮结束时,他们不需要接住手掌中的所有鹅卵石,但恰好足以使他们的总分增加 1 或两倍或三倍。比赛开始前,每个人都已经有1分了。获胜者将是更快获得 N 分的人。
假设所有玩家都有足够的游戏经验,并且他们总是以他们需要的石子数量到达考试(这样他们就可以将所需的分数增加 1、2 倍或 3 倍)。

确定从 中获得给定点数 N 所需的最少回合数。

输入

程序接收单个数字作为输入,不超过 106


输出

您需要打印一个数字:您要查找的最少操作数。

 

 

例子
<头> <日># <正文>

 

输入 输出
1 1 0
2 5 3
3 32718 17