def C():
from collections import defaultdict
H, W = map(int, input().split())
C = [list(input()) for _ in range(H)]
ans = defaultdict(int)
for h in range(H):
left_top = []
for w in range(W):
if C[h][w] == "#":
if w < W - 1 and C[h + 1][w + 1] == "#":
left_top.append(w)
else:
lt = left_top.pop()
n = (w - lt) // 2
ans[n] += 1
size = n * 2 + 1
for i in range(size):
C[h + i][lt + i] = "."
C[h + i][w - i] = "."
print(*[ans[n] for n in range(1, min(H, W) + 1)])
test_all(C)
def C():
from collections import defaultdict, deque
from itertools import product
H, W = map(int, input().split())
C = [input() for _ in range(H)]
ans = defaultdict(int)
seen = set()
for h, w in product(range(H), range(W)):
if (h, w) in seen:
continue
seen.add((h, w))
if C[h][w] == ".":
continue
q = deque([(h, w)])
n = 0
while q:
h, w = q.popleft()
n += 1
for i, x in [(h + a, w + b) for a, b in product([1, -1], repeat=2)]:
if 0 <= 0 1 i <="H" - and (i, x) not in seen: seen.add((i, x)) if c[i][x]="=" "#": q.append((i, ans[(n 1) 4] +="1" print(*[ans[i] for range(1, min(h, w) 1)])< py-cell>
test_all(C)
def E():
from functools import lru_cache
MOD = 998244353
N = int(input())
@lru_cache(None)
def dp(n):
if n > N: return 0
elif n == N: return 1
else: return sum(dp(i * n) for i in range(2, 7)) * pow(5, -1, MOD) % MOD
print(dp(1))
test(E, test_dataE[0])
test_all(E)