
An -dimensional hypercube (or -cube) with side a > 0 is a figure in -dimensional Euclidean space, constructed as follows. Select an (N-1)-dimensional hyperplane in the -dimensional space. Construct an (N-1)-cube in that hyperplane. From each vertex of this cube, draw a segment of length perpendicular to the selected hyperplane, all in the same direction. The endpoints of these segments will also lie in an (N-1)-dimensional hyperplane parallel to the original, forming another (N-1)-cube. The convex hull of all the obtained vertices (from both the original and the new (N-1)-cube) forms the -dimensional hypercube. By definition, a -cube is a point, which is the only vertex of this cube. It is easy to see that a -cube is a segment on a line, a -cube is a square in a plane, and a -cube is the usual three-dimensional cube in three-dimensional space. Hypercubes of higher dimension are harder to visualize, but can still be constructed by definition.
A -dimensional face (or -face) of an -dimensional hypercube is the intersection with a -dimensional hyperplane which does not contain interior points of faces of higher dimensions. Each -cube has one -face which coincides with itself. It can be proved that -faces are -cubes. -faces are the vertices of the -cube, -faces are its edges, and so forth.
Your task is to compute the number of -dimensional faces of an -dimensional hypercube.
A single line contains three integers , , and (0 \leq k \leq N \leq 10000, k \leq 2000, 1 \leq p \leq 10^{18}).
Output a single line with k+1 numbers: the remainder when dividing the number of -faces, -faces, , -faces of the -cube by .
Example 1