#include <conio.h>
#define MAX 3000
int revisa (int vr[], int *pi, int *pf, int pvr)
{
int i,j,igual=0;
i=0;
j=pvr-1;
while(!igual && i<j)
{
if (vr[i]==vr[j])
{
igual=1;
*pi=i;
*pf=j;
}
i++;
}
return igual;
}
main()
{
long n,d,r,c,ent=0,entero=0;
int pd=0,pi=0,pf=0,lar=0,seguir=1;
int vr[MAX], pv=0,pvr=0,i,j,c_0=0,rep;
char v[MAX];
clrscr();
scanf ("%li %li",&n,&d);
if (n%d==0) entero=1;
if (n>=d)
{
ent=n/d;
n=n%d;
while (ent)
{
v[pv++]=ent%10+'0';
ent/=10;
pd++;
}
for (i=0;i<pv/2;i++)
{
j=v[i];
v[i]=v[pv-i-1];
v[pv-i-1]=j;
}
}
while (pv<MAX && n && seguir)
{
vr[pvr++]=n;
if (revisa(vr,&pi,&pf,pvr))
{
seguir=0;
rep=pv-(pf-pi);
continue;
}
n=n*10;
c=(n/d)%10;
n=n%d;
v[pv++]=c+'0';
}
if (seguir==0)
{
printf ("\n ");
if (!pd) printf ("0");
for (i=0;i<MAX && i<pv;i++)
{
if (pd==0) printf (".");
if (rep==0) printf ("(");
printf ("%c",v[i]);
pd--; rep--;
}
printf (")");
printf ("\n %i digito(s) se repite(n)",pf-pi);
}
else
{
printf ("\n ");
if (!pd) printf ("0");
for (i=0;i<MAX && i<pv;i++)
{
if (pd==0) printf (".");
if (rep==0) printf ("(");
printf ("%c",v[i]);
pd--;
}
if (entero) printf (".");
printf ("(0)");
printf ("\n 1 digito repite",pf-pi);
}
getch();
}