CF1916H2 Matrix Rank (Hard Version)

Description

This is the hard version of the problem. The only differences between the two versions of this problem are the constraints on $ k $ . You can make hacks only if all versions of the problem are solved. You are given integers $ n $ , $ p $ and $ k $ . $ p $ is guaranteed to be a prime number. For each $ r $ from $ 0 $ to $ k $ , find the number of $ n \times n $ matrices $ A $ of the field $ ^\dagger $ of integers modulo $ p $ such that the rank $ ^\ddagger $ of $ A $ is exactly $ r $ . Since these values are big, you are only required to output them modulo $ 998\,244\,353 $ . $ ^\dagger $ [https://en.wikipedia.org/wiki/Field\_(mathematics)](https://en.wikipedia.org/wiki/Field_(mathematics)) $ ^\ddagger $ [https://en.wikipedia.org/wiki/Rank\_(linear\_algebra)](https://en.wikipedia.org/wiki/Rank_(linear_algebra))

Input Format

The first line of input contains three integers $ n $ , $ p $ and $ k $ ( $ 1 \leq n \leq 10^{18} $ , $ 2 \leq p < 998\,244\,353 $ , $ 0 \leq k \leq 5 \cdot 10^5 $ ). It is guaranteed that $ p $ is a prime number.

Output Format

Output $ k+1 $ integers, the answers for each $ r $ from $ 0 $ to $ k $ .