小羊的耐心游戏

题目背景

新年前夕,一只羊正在为跨年做准备。

它有 nn 颗糖果,打算通过一个特殊的方式慢慢“消耗”这些糖果,让新年的等待不再无聊。

Pig

题目描述

最开始,一只羊拥有 nn 颗糖果。

他会将这些糖果 整齐地摆成若干行,每一行糖果数量相同。设:

  • 一共有 aa 行;
  • 每一行有 bb 颗糖果;
  • 要求 a>1a>1,并且必须使用全部糖果,即 n=abn = a \cdot b

摆好之后,一只羊会 只保留其中任意一整行(即 bb 颗糖果),并把其它糖果全部收走。

接着,一只羊会用当前剩下的糖果再次重复上述过程(可以选择不同的 aabb),一轮又一轮,直到最后 只剩下 1 颗糖果 为止。

游戏过程表示

整个过程可以表示为一个整数序列: c1,c2,,ckc_1, c_2, \dots, c_k

其中:

  • c1=nc_1 = n
  • ci+1c_{i+1} 表示第 ii 次操作后剩下的糖果数量;
  • 每一步都满足 ci>ci+1c_i > c_{i+1}
  • 最终 ck=1c_k = 1

游戏结果

一只羊把整个过程中的糖果数量 全部加起来c1+c2++ckc_1 + c_2 + \cdots + c_k

这个总和被称为 游戏结果

你的任务

给定初始糖果数量 nn,请你计算: 一只羊最多可以得到的游戏结果是多少

输入格式

输入一行,一个整数:nn

输出格式

输出一个整数,表示可能得到的 最大游戏结果

数据范围

  • 2n502 \le n \le 50(30 分)
  • 2n1092 \le n \le 10^9(100 分)

输入输出样例 1

输入

10

输出

16

样例说明

初始 c1=10c_1 = 10,可能的操作方案包括:

  1. 摆成 1010 行,每行 11 颗糖果
    • c2=1c_2 = 1
    • 游戏结果:10+1=1110 + 1 = 11
  2. 摆成 55 行,每行 22 颗糖果
    • c2=2c_2 = 2,再摆成 22 行,每行 11
    • c3=1c_3 = 1
    • 游戏结果:10+2+1=1310 + 2 + 1 = 13
  3. 摆成 22 行,每行 55 颗糖果
    • c2=5c_2 = 5,再摆成 55 行,每行 11
    • c3=1c_3 = 1
    • 游戏结果:10+5+1=1610 + 5 + 1 = 16(最大)

相关