INF = 1000000007





def modmulti(a, b):

    # aとbを掛けた値をmodする(a * b mod p)

    res = 0

    mod = a % INF

    while b > 0:

        if b & 1 == 1:

            res += mod

            if res > INF:

                res -= INF

        mod <<= 1

        if mod > INF:

            mod -= INF

        b >>= 1

    return res





N = int(eval(input()))



ans = 1



for i in range(1, N + 1):

    ans = modmulti(ans, i)



print(ans)

INF = 1000000007





def modmulti(a, b):

    # aとbを掛けた値をmodする(a * b mod p)

    return a * b % INF





N = int(eval(input()))



ans = 1



for i in range(1, N + 1):

    ans = modmulti(ans, i)



print(ans)

INF = 1000000007


def modmulti(a, b):
    # aとbを掛けた値をmodする(a * b mod p)
    res = 0
    mod = a % INF
    while b > 0:
        if b & 1 == 1:
            res += mod
            if res > INF:
                res -= INF
        mod <<= 1
        if mod > INF:
            mod -= INF
        b >>= 1
    return res


N = int(eval(input()))
ans = 1
for i in range(1, N + 1):
    ans = modmulti(ans, i)
print(ans)

INF = 1000000007


def modmulti(a, b):
    # aとbを掛けた値をmodする(a * b mod p)
    return a * b % INF


N = int(eval(input()))
ans = 1
for i in range(1, N + 1):
    ans = modmulti(ans, i)
print(ans)

-    res = 0 -    mod = a % INF -    while b > 0: -        if b & 1 == 1: -            res += mod -            if res > INF: -                res -= INF -        mod <<= 1 -        if mod > INF: -            mod -= INF -        b >>= 1 -    return res +    return a * b % INF