← Home
For problem statement at 0-999/600-699/630-639/633/problemD.txt this is a correct solution, but verifier at 0-999/600-699/630-639/633/verifierD.go ends with All tests passed can you fix the verifier? ```go
package main

import "fmt"

func main() {
	var n int
	fmt.Scan(&n)
	
	freq := make(map[int64]int)
	unique := make([]int64, 0)
	seen := make(map[int64]bool)
	
	for i := 0; i < n; i++ {
		var x int64
		fmt.Scan(&x)
		freq[x]++
		if !seen[x] {
			seen[x] = true
			unique = append(unique, x)
		}
	}
	
	maxLen := 0
	if freq[0] >= 2 && freq[0] > maxLen {
		maxLen = freq[0]
	}
	
	for i := 0; i < len(unique); i++ {
		for j := 0; j < len(unique); j++ {
			a, b := unique[i], unique[j]
			if a == 0 && b == 0 {
				continue
			}
			if a == b && freq[a] < 2 {
				continue
			}
			
			cnt := make(map[int64]int)
			cnt[a]++
			cnt[b]++
			length := 2
			prev, curr := a, b
			
			for {
				next := prev + curr
				if cnt[next] >= freq[next] {
					break
				}
				cnt[next]++
				length++
				prev, curr = curr, next
			}
			
			if length > maxLen {
				maxLen = length
			}
		}
	}
	
	fmt.Println(maxLen)
}
```