#!/usr/bin/env python3 import itertools def _solve(a, b): cela_cast = a // b a %= b # a nahradíme jeho zbytkem po dělení b zbytky = {} vysledek = [] periodicke = True zacatek_per = None # itertools.count() funguje v podstatě jako range(1, nekonečno) for idx in itertools.count(): if a == 0: # Odteď bychom vypisovali jen samé nuly periodicke = False break if a in zbytky: zacatek_per = zbytky[a] break zbytky[a] = idx a *= 10 vysledek.append(a // b) a %= b # to samé jako a -= (a // b) * b return cela_cast, vysledek, periodicke, zacatek_per def solve(a,b): cela_cast, cifry, periodicke, zacatek_per = _solve(a,b) # převedeme každou cifru na řetězec a pak je všechny slepíme: cifry = ''.join(map(str, cifry)) if not cifry: return str(cela_cast) # celé číslo if periodicke: return str(cela_cast) + ',' + cifry[:zacatek_per] + '(' + cifry[zacatek_per:] + ')' else: return str(cela_cast) + ',' + cifry N = int(input()) for i in range(N): # rozdělíme řádek po mezerách a jednotlivé části převedeme na čísla: a, b = map(int, input().split()) print(solve(a, b))