#include<stdio.h>
#include<list>
#include<algorithm>
class s{
 public:
  int num;
  int i;
  s(int n,int j){
    num=n;
    i=j;
  }
};
int main(){
  using namespace std;
  int p,q,pn,i,pr,j;
  char ans[1000];
  list<s> memo;
  list<s>::iterator it;
  pn=1;
  while(scanf("%d %d",&p,&q)!=EOF){
    for(pr=0,p*=10,i=0;p%q;i++,p*=10){
      it=memo.begin();
      while(it!=memo.end()){
	if(it->num==p) break;
	it++;
      }
      if(memo.end()==it){
	memo.push_back(*(new s(p,i+1)));
      }else{
	pr=it->i;
	ans[i]='\0';
	goto find;
      }
      if(p>q){
	ans[i]=(int)(p/q)+(int)'0';
	p=p%q;
      }else{
	ans[i]='0';
      }
    }
    ans[i]=(int)'0'+(int)(p/q);
    ans[i+1]='\0';
  find:;
    printf("%s\n",ans);
    if(pr){
      for(j=0;j<pr-1;j++){
	printf(" ");
      }
      while(j++<i) printf("^");
      printf("\n");
    }
    pn++;
    memo.clear();
  }
  return 0;
}