 #include<iostream>
 #include<stdio.h>
 #include<string>
 #include<math.h>
 #include<iomanip>
 #include<algorithm>
 #include<string.h>
 #include<cctype>
 #include<map>
 #include<set>
 #include<vector>
 #include<sstream>
 #include<stack>
 #include<queue>
 
 using namespace std;
 
 int main()
 {
   int p,q;
   while(cin>>p>>q)
   {
     string s="";
     int count=2000;
     int qin;
     while(count--)
     {
       int kk=(10*p)/q;
       qin=(10*p)%q;
       s+=('0'+kk);
       p=qin;
       if(qin==0) break;
     }
     if(qin==0) cout<<s<<endl;
     else
     {
       //cout<<s<<endl;
       bool flag=false;
       int i,j;
       string ss,sss;
       for(i=0;i<100;i++)
       {
         for(j=1;j<100;j++)
         {
           ss=s.substr(i,j);
           int k;
           for(k=1;k<=10;k++)
           {
             sss=s.substr(i+k*j,j);
             if(ss==sss) continue;
             else break;       
           }
           if(k==11) 
           {
             flag=true;
             break;          
           }      
         }   
         if(flag) break;     
       }           
       if(i==0)
       { 
         cout<<ss<<endl;
         cout<<"^"<<endl;
       }
       else
       { 
         cout<<s.substr(0,i)<<ss<<endl;
         for(int k=0;k<i;k++) cout<<" ";
         for(int k=i;k<i+j;k++) cout<<"^";
         cout<<endl;
       }
     }     
   }
   //while(1);
   return 0;
 }