1112. 循环小数

分数 133\frac{1}{33} 的十进制扩展为 0.(03)0.(03),其中 (03)(03) 用于表示循环 0303 无限期地重复。事实上,每个有理数(分数)的十进制扩展具有循环节,而无理数的十进制扩展没有这样的循环节。

有理数的十进制扩展及其循环节我们使用括号来包围循环节。

现在请你写一个程序,读取分数的分子和分母并确定它们的循环节。定义一个分数的循环节是数字的第一最小长度循环字符串。例如,分数 1250\frac{1}{250}的循环节为 00

输入

输入包含多个用例,每组用例一行,包含两个整数 n,m (0n3000,1m3000)n,m \ (0 \leq n \leq 3000,1 \leq m \leq 3000)nn 表示分子,mm 表示分母。

文件结束 EOF 表示输入结束。

输出

对于每组输入,打印其十进制扩展以及整个循环节的长度。

在写十进制扩展时,如果可能,将循环节括在括号中。如果整个循环节在小数点后前 5050 个地方没有发生,则在循环节出现的位置(保证会出现在前 5050 个字符)前放置一个左括号 (,并在小数点后第 5050 个数字后放置 ...)

样例

标准输入 复制文本
76 25
5 43
1 397
标准输出 复制文本
76/25 = 3.04(0)
   1 = number of digits in repeating cycle

5/43 = 0.(116279069767441860465)
   21 = number of digits in repeating cycle

1/397 = 0.(00251889168765743073047858942065491183879093198992...)
   99 = number of digits in repeating cycle
登录以提交代码。
单点时限 1 秒
内存限制 128 MB
提交 183
通过 28