while s=gets
h={}
a,b=s.split(" ").map{|e| e.to_i}
a=(a%b)*10
i=0
as=[]
while true
if a<b && a>0 then
while a<b
as<<0
break if h.member?(a)
h[a]=i
a*=10
i+=1
end
end
break if h.member?(a%b)
break if a==0
as<<a/b
a=a%b
break if a==0
h[a]=i
i+=1
a*=10
end
puts as.join("")
if a!=0 then
c=""
as.size.times{|i|
c+=(h[a%b]>i)?" ":"^"
}
puts c
end
end
d2hpbGUgcz1nZXRzCgloPXt9CglhLGI9cy5zcGxpdCgiICIpLm1hcHt8ZXwgZS50b19pfQoJYT0oYSViKSoxMAoJaT0wCglhcz1bXQoJd2hpbGUgdHJ1ZQoJCWlmIGE8YiAmJiBhPjAgdGhlbgoJCQl3aGlsZSBhPGIKCQkJCWFzPDwwCgkJCQlicmVhayBpZiBoLm1lbWJlcj8oYSkKCQkJCWhbYV09aQoJCQkJYSo9MTAKCQkJCWkrPTEKCQkJZW5kCgkJZW5kCgkJYnJlYWsgaWYgaC5tZW1iZXI/KGElYikKCQlicmVhayBpZiBhPT0wCgkJYXM8PGEvYgoJCWE9YSViCgkJYnJlYWsgaWYgYT09MAoJCWhbYV09aQoJCWkrPTEKCQlhKj0xMAoJZW5kCglwdXRzIGFzLmpvaW4oIiIpCglpZiBhIT0wIHRoZW4KCQljPSIiCgkJYXMuc2l6ZS50aW1lc3t8aXwKCQkJYys9KGhbYSViXT5pKT8iICI6Il4iCgkJfQoJCXB1dHMgYwoJZW5kCmVuZA==