CF991F Concise and clear

题目描述

Vasya 是一名经常参加编程竞赛的选手,他已经很擅长在冗长的题目描述中找到关键信息。当然,数字的约束条件也很重要——分解一个小于 $1000000$ 的数要比分解一个小于 $1000000000$ 的数容易得多。然而,有时候一眼看去很难理解这个数字。能不能把它写得更简洁一些呢?例如,可以用 $10^{6}$ 代替 $1000000$,用 $10^{9}$ 代替 $1000000000$,用 $10^{9}+7$ 代替 $1000000007$。 Vasya 认为,为了简洁,表示方法应遵循以下规则: - 表达式只能由数字、加法(“+”)、乘法(“*”)和乘方(“^”)运算组成,特别地,禁止使用括号; - 禁止连续使用多个乘方运算,例如,“2^3^4”是不允许的; - 表达式的值必须等于原始数字; - 表达式的符号数应尽可能少。 给定 $n$,请为它找到等价的最简洁表示。

输入格式

输入仅一行,包含一个整数 $n$($1 \leq n \leq 10\,000\,000\,000$)。

输出格式

输出数字 $n$ 的一种简洁表示。如果有多种最简洁表示,输出其中任意一种即可。

说明/提示

第三个样例允许输出 $10^{10}$,其长度也是 $5$。 由 ChatGPT 4.1 翻译