Some days ago, I learned the concept of LCM (least common multiple). I've played with it for several times and I want to make a big number with it.

But I also don't want to use many numbers, so I'll choose three positive integers (they don't have to be distinct) which are not greater than *n*. Can you help me to find the maximum possible least common multiple of these three integers?
The first line contains an integer *n* (1 ≤ *n* ≤ 10<sup class="upper-index">6</sup>) — the *n* mentioned in the statement.
#!/usr/bin/env python3
from sys import stdin, stdout
import bisect
import math


def gcd(a, b):
    if a == 0:
        return b
    if a < b:
        a, b = b, a
    return gcd(a % b, b)


def factorize(n):
    res = []
    nc = n
    for i in range(2, int(math.floor(math.sqrt(n)))+1):
        if nc==1:
            break
        cnt = 0
        while nc % i == 0:
            nc //= i
            cnt += 1
        if cnt > 0:
            res.append(i)
    return res


def solve(t):
    n = int(stdin.readline().strip())

    res = n * (n - 1)
    ln = factorize(n) + factorize(n - 1)
    ln.sort()

    p = n - 2
    while p:
        conflict = False
        lo = factorize(p)
        for o in lo:
            l = bisect.bisect_left(ln, o)
            if l<len(ln) and ln[l]==o:
                conflict = True
                break

        if conflict:
            p -= 1
        else:
            res *= p
            break

    print(res)
    pass


LOCAL_TEST = not __debug__
if LOCAL_TEST:
    infile = __file__.split('.')[0] + '-test.in'
    stdin = open(infile, 'r')

tcs = (int(stdin.readline().strip()) if LOCAL_TEST else 1)
t = 1
while t <= tcs:
    solve(t)
    t += 1