def 解():

    iN = int(eval(input()))

    iNow = 0

    iMem = 0

    iC = 0

    d = {}

    for a in reversed(sorted([int(_) for _ in input().split()])):

        if iNow == a:

            iC += 1

        else:

            iC = 1

            iNow = a

        if iC == 2:

            if iMem :

                print((iMem * iNow))

                exit()

            else:

                iMem = a

        elif iC == 4:

            print((iMem**2))

            exit()

    print((0))

解()

def 解():

    iN = int(eval(input()))

    m2_2 = 0 #複数あるものの二つ目

    m2 = 0 #複数あるもので最大

    m3 = 0 #3個あるもので最大

    m4 = 0 #4個あるもので最大

    d = set()

    for a in [int(_) for _ in input().split()]:

        if a in d:

            if  m2 < a :

                m2_2 = m2

                m2 = a

            elif m2 == a :

                if m3 < a :

                    m3 = a

                elif m3 == a:

                    if m4 < a:

                        m4 = a

            elif m2_2 < a:

                    m2_2 = a

        else:

            d.add(a)

    print((max(m2*m2_2,m4**2)))

解()

def 解():
    iN = int(eval(input()))
    iNow = 0
    iMem = 0
    iC = 0
    d = {}
    for a in reversed(sorted([int(_) for _ in input().split()])):
        if iNow == a:
            iC += 1
        else:
            iC = 1
            iNow = a
        if iC == 2:
            if iMem:
                print((iMem * iNow))
                exit()
            else:
                iMem = a
        elif iC == 4:
            print((iMem**2))
            exit()
    print((0))


解()

def 解():
    iN = int(eval(input()))
    m2_2 = 0  # 複数あるものの二つ目
    m2 = 0  # 複数あるもので最大
    m3 = 0  # 3個あるもので最大
    m4 = 0  # 4個あるもので最大
    d = set()
    for a in [int(_) for _ in input().split()]:
        if a in d:
            if m2 < a:
                m2_2 = m2
                m2 = a
            elif m2 == a:
                if m3 < a:
                    m3 = a
                elif m3 == a:
                    if m4 < a:
                        m4 = a
            elif m2_2 < a:
                m2_2 = a
        else:
            d.add(a)
    print((max(m2 * m2_2, m4**2)))


解()

-    iNow = 0 -    iMem = 0 -    iC = 0 -    d = {} -    for a in reversed(sorted([int(_) for _ in input().split()])): -        if iNow == a: -            iC += 1 +    m2_2 = 0  # 複数あるものの二つ目 +    m2 = 0  # 複数あるもので最大 +    m3 = 0  # 3個あるもので最大 +    m4 = 0  # 4個あるもので最大 +    d = set() +    for a in [int(_) for _ in input().split()]: +        if a in d: +            if m2 < a: +                m2_2 = m2 +                m2 = a +            elif m2 == a: +                if m3 < a: +                    m3 = a +                elif m3 == a: +                    if m4 < a: +                        m4 = a +            elif m2_2 < a: +                m2_2 = a -            iC = 1 -            iNow = a -        if iC == 2: -            if iMem: -                print((iMem * iNow)) -                exit() -            else: -                iMem = a -        elif iC == 4: -            print((iMem**2)) -            exit() -    print((0)) +            d.add(a) +    print((max(m2 * m2_2, m4**2)))