AT_agc076_a [AGC076A] Hamming-Distant Arrays
Description
整数 $ N $ が与えられます. $ 1 $ 以上 $ N $ 以下の整数からなる長さ $ N^2 $ の整数列 $ a,b $ に対し,その距離 $ d(a,b) $ を次のように定義します.
- $ d(a,b)= $ 「 $ a_i \neq b_i $ を満たす $ i $ ( $ 1 \leq i \leq N^2 $ ) の個数」
今から, $ 1 $ 以上 $ N $ 以下の整数からなる長さ $ N^2 $ の整数列を $ N $ 個作り,それらを $ x_1,x_2,\cdots,x_N $ とおきます(順番も区別します). 以下の条件を満たす $ (x_1,x_2,\cdots,x_N) $ の個数を $ 998244353 $ で割ったあまりを求めてください.
- $ 1 $ 以上 $ N $ 以下の整数からなる長さ $ N^2 $ の整数列 $ y $ をどのようにとっても,ある $ 1 \leq i \leq N $ が存在し, $ d(x_i,y) \geq N^2-N $ を満たす.
Input Format
入力は以下の形式で標準入力から与えられる.
> $ N $
Output Format
答えを出力せよ.
Explanation/Hint
### Sample Explanation 1
例えば, $ (x_1,x_2)=((1,1,2,2),(1,2,1,2)) $ は条件を満たしません. $ y=(1,1,1,2) $ とすると, $ d(x_1,y)=1,d(x_2,y)=1 $ となるためです.
一方, $ (x_1,x_2)=((1,1,1,1),(2,2,2,2)) $ は条件を満たします.
条件を満たす $ (x_1,x_2) $ は $ 80 $ 通りあります.
### Constraints
- $ 1 \leq N \leq 50 $
- 入力はすべて整数