//Period
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

int main(){
  ll p, q;
  vector<pair<ll, ll> > v;
  while(cin>>p>>q){
    bool flag=false;
    int i;
    v.clear();
    while(p!=0){
      pair<ll, ll> tmp;
      tmp.first=p*10/q;
      tmp.second=p*10%q;
      p=tmp.second;
      i=0;
      for(int j=0; j<v.size(); j++, i++){
        if(tmp.first==v[j].first && tmp.second==v[j].second){
          flag=true;
          break;
        }
      }
      if(flag)break;
      v.push_back(tmp);
    }
    if(flag){
      string ans1="";
      string ans2="";
      for(int j=0; j<v.size(); j++){
        ans1+=v[j].first+'0';
        if(j<i)ans2+=' ';
        else ans2+='^';
      }
      cout<<ans1<<endl;
      cout<<ans2<<endl;
    }
    else{
      string ans="";
      for(int j=0; j<v.size(); j++)
        ans+=v[j].first+'0';
      cout<<ans<<endl;
    }
  }
  return 0;
}