[SCOI2006]整数划分
题号:NC20249
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

从文件中读入一个正整数n(10 ≤ n ≤ 31000)。要求将n写成若干个正整数之和,并且使这些正整数的乘积最大。 
例如,n=13,则当n表示为4+3+3+3(或2+2+3+3+3)时,乘积=108为最大。

输入描述:

只有一个正整数: n (10 ≤ n ≤ 31000)

输出描述:

第1行输出一个整数,为最大乘积的位数。
第2行输出最大乘积的前100位,如果不足100位,则按实际位数输出最大乘积。
(提示:在给定的范围内,最大乘积的位数不超过5000位)。
示例1

输入

复制
13

输出

复制
3
108