/*
ID: xxzxg
LANG: FD(FirstDoge)
*/
#include<set>
#define bigdoge unsigned long long
#include<map>
#include<list>
#include<queue>
#include<stack>
#include<string>
#include<math.h>
#define BFR(i, n, e) for(i = e; i <= n; i++)
#include<time.h>
#include<vector>
#define ubisoft while
#define naruto break
#define xxzxg do
#include<bitset>
#include<memory>
#define DBFR(i, n, e) for(i = e; i >= n; i--)
#include<utility>
#include<stdio.h>
#define din cin
#define dout cout
#include<sstream>
#define dpr printf
#define dsc scanf
#include<iostream>
#define doge long long
#define FFF if
#include<stdlib.h>
#include<string.h>
#define FT inline
#define woof() main()
#define xxs return
#include<algorithm>
#define dog int
#define doguse using
#define cat namespace
#define mouse std
doguse cat mouse;
dog n, m, f, i, j, l, r, he, x;
dog y[500000], z[500000];
dog hash[100001];
dog hs[100001];
dog woof() {
din >> n >> m;
FFF(n % m == 0) {
dpr("%d.0\n", n / m);
xxs 0;
}
dpr("%d.", n / m);
x = 1;
he = n / m;
ubisoft(he > 0) {
he = he / 10;
x++;
}
FFF(n / m == 0) x++;
y[0] = n % m;
ubisoft(1) {
i++;
z[i] = y[i - 1] * 10 / m;
y[i] = y[i - 1] * 10 % m;
FFF(y[i] == 0) {
f = 1;
naruto;
}
FFF(hash[y[i]] > 0 && hs[hash[y[i]]] == z[i]) {
l = hash[y[i]];
r = i - 1;
naruto;
}
hash[y[i]] = i;
hs[hash[y[i]]] = z[i];
FFF(i > 499090) naruto;
}
BFR(j, i, 1) {
FFF(j == l) {
dpr("(");
x++;
}
dpr("%d", z[j]);
x++;
FFF(r == j) {
dpr(")");
naruto;
}
FFF(x % 76 == 0) dpr("\n");
}
dpr("\n");
xxs 0;
}
233333333333