← Home
For problem statement at 1000-1999/1300-1399/1340-1349/1349/problemA.txt this is a correct solution, but verifier at 1000-1999/1300-1399/1340-1349/1349/verifierA.go ends with All tests passed can you fix the verifier? ```go
package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
)

func gcd(a, b int64) int64 {
	for b != 0 {
		a, b = b, a%b
	}
	return a
}

func lcm(a, b int64) int64 {
	if a == 0 || b == 0 {
		return 0
	}
	return (a / gcd(a, b)) * b
}

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	scanner.Split(bufio.ScanWords)

	if !scanner.Scan() {
		return
	}
	n, _ := strconv.Atoi(scanner.Text())

	a := make([]int64, n)
	for i := 0; i < n; i++ {
		scanner.Scan()
		val, _ := strconv.ParseInt(scanner.Text(), 10, 64)
		a[i] = val
	}

	S := make([]int64, n)
	S[n-1] = a[n-1]
	for i := n - 2; i >= 0; i-- {
		S[i] = gcd(a[i], S[i+1])
	}

	var ans int64 = 0
	for i := 0; i < n-1; i++ {
		ans = gcd(ans, lcm(a[i], S[i+1]))
	}

	fmt.Println(ans)
}
```