def f(a,b)
n=1
i=0
while true do
n=(n*a)%b
i+=1
return i if n==1
end
end
while true do
es=gets.split(" ").map{|e| e.to_i}
break if es.sum==0
ans=1
es.each_slice(2){|a,b|
ans=ans.lcm(f(a,b))
}
puts ans
end
ZGVmIGYoYSxiKQoJbj0xCglpPTAKCXdoaWxlIHRydWUgZG8KCQluPShuKmEpJWIKCQlpKz0xCgkJcmV0dXJuIGkgaWYgbj09MQoJZW5kCmVuZAp3aGlsZSB0cnVlIGRvCgllcz1nZXRzLnNwbGl0KCIgIikubWFwe3xlfCBlLnRvX2l9CglicmVhayBpZiBlcy5zdW09PTAKCWFucz0xCgllcy5lYWNoX3NsaWNlKDIpe3xhLGJ8CgkJYW5zPWFucy5sY20oZihhLGIpKQoJfQoJcHV0cyBhbnMKZW5kCg==