U500225 根式化简增强版

题目背景

lihui在做 [P9750 [CSP-J 2023] 一元二次方程](https://www.luogu.com.cn/problem/P9750) 时被烦人的根式化简给搞自闭了,一气之下键盘一摔把电脑砸关机了代码没啦!现在 TA 不想再写一遍根式化简代码再写一遍于是把这个重任交给了你! yaotianyu4080: 本题为加强版 [原题](https://www.luogu.com.cn/problem/U500206)

题目描述

给定一个整数 $n$,让你求 $\sqrt{n}$ 的最简形式。 化简规则如下: #### 如果 $n \ge 0$ 你需要把一个 $n$ 拆成 $a\times b$,的形式。并且 $a$ 是一个完全平方数。那么 $ \sqrt{n}=\sqrt{a \times b}=\sqrt{a} \times \sqrt{b}$ 你需要输出 $\sqrt{a} \times \sqrt{b}$ 这个部分。 特别的,如果乘法里面出现了某个数乘 $1$,则不输出这个 “$\times 1$”。 如果 $x$ 本身就是完全平方数那么直接就是 $\sqrt{x}$ 你要保证 $a$ 尽可能大。 #### 如果 $n < 0$ 虽然一元二次方程不需要,但是 lihui 也想做这个操作。 众所周知 $\sqrt{-1}=i$,那么对于一个负数 $n$,$\sqrt{n}=\sqrt{n\times-1\times-1}$。 又因为 $\sqrt{a \times b}=\sqrt{a} \times \sqrt{b}$,所以 $\sqrt{n}=\sqrt{n\times-1}\times\sqrt{-1}=i \times \sqrt{-n}$。 此时 $-n$ 为正数那么按照 $n \ge 0$ 的方法化即可。

输入格式

一个整数 $n$。

输出格式

## 输出格式 $\sqrt{n}$ 的最简形式。 为了避免歧义,我们把输出这样规定: - 乘法用 `*` 连接。 - $\sqrt{n}$ 表示为 `sqrt(n)`。 - $i$ 就用 `i` 表示。 - 不要加多余的空格

说明/提示

对于 $100\%$ 的数据,$-10^{18} \le n \le 10^{18}$ |测试点编号 | $n$ 的范围 | | :----------: | :----------: | |$1,2,3,4$|$-10^6 \le n \le 10^6$| |$5,6,7$|$-10^{12} \le n \le 10^{12}$| |$8,9,10$|$-10^{18} \le n \le 10^{18}$|