#!/bin/python
maxV = 0

def findFriend(array, i, j):
    for Sj in range(j - 1, i, -1):
        if array[Sj] == array[i]:
            return Sj
    return -1

def solveRec(array, i, j, index):
    global maxV
    if i != j - 1:
        sets = set()
        for Si in range(i, j):
            if (array[Si] not in sets):
                Sj = findFriend(array, Si, j)
                if (Sj != -1):
                    solveRec(array, Si + 1, Sj, index + 1)
                sets.add(array[i])

    if index > maxV:
        maxV = index


def solve():
    global maxV
    num = int(input())
    array = list(map(int, input().split()))

    alll = set()
    dupl = set()
    for i in array:
        if i in alll:
            dupl.add(i)
        else:
            alll.add(i)

    array2 = []
    for i in array:
        if i in dupl:
            array2.append(i)

    if (num == 1):
        print(0)
        return

    solveRec(array2, 0, len(array2), 0)

    print(maxV)

def main():
    global maxV
    try:
        while True:
            maxV = 0
            solve()
    except:
        pass

main()


