f::Integer->[Integer]->Integer f d []=d f d (x:xs)=f (gcd d x) xs f2 ::Integer->Integer->Integer f2 d x=x `div` d f3::[Integer]->String f3 (x:[])=show x f3 (x:xs)=(show x)++":"++f3 xs main = do e<-getLine es<-getLine let xs=map read (words es)::[Integer] putStrLn $ f3 $ map (f2 ( f (head xs) (tail xs))) xs