package main import ( "fmt" "math" "strings" ) func main() { var n, a int _, _ = fmt.Scan(&n) min1, min2 := math.MaxInt64, math.MaxInt64 nums := make([]int, n) for i := range nums { _, _ = fmt.Scan(&a) nums[i] = a if min1 > a { min1, min2 = a, min1 } else if min2 > a { min2 = a } } list := make([]int, 0) // min1とmin2の約数のリスト for i := 2; i <= min1; i++ { if min1%i == 0 && min2%i == 0 { list = append(list, i) } } for i := len(list) - 1; i >= 0; i-- { r := true for _, a := range nums { if a%list[i] != 0 { r = false break } } if r { for j := range nums { nums[j] /= list[i] } break } } s := "" for _, a := range nums { s += fmt.Sprintf("%d:", a) } fmt.Println(strings.Trim(s, ":")) }