#include <bits/stdc++.h>
using namespace std;
using ll = long long;

ll MOD,dp[101][150000];

int main(){
    for(int i=0;i<101;i++)for(int j=0;j<150000;j++)dp[i][j]=0;
    ll N,K,MOD;
    cin>>N>>K>>MOD;
    if(N==1){
        cout<<K<<endl;
        return 0;
    }

    dp[1][0]=1,dp[1][K+1]=-1;
    for(int i=1;i<50;i++){
        for(int j=0;;j++){
            if(j>K*i*(i+1)/2)break;
            dp[i][j+i]+=dp[i][j];
            dp[i][j+1]%=MOD;
        }
        for(int j=0;;j++){
            if(j>K*i*(i+1)/2)break;
            dp[i+1][j]+=dp[i][j];
            dp[i+1][j]%=MOD;
            dp[i+1][j+(i+1)*(K+1)]+=MOD-dp[i][j];
            dp[i+1][j+(i+1)*(K+1)]%=MOD;
        }
    }
    if(N>=50){
        for(int i=50;i<N;i++){
            for(int j=0;j<127510;j++){
                dp[i][j+i]+=dp[i][j];
                dp[i][j+1]%=MOD;
            }
            for(int j=0;j<127510;j++){
                dp[i+1][j]+=dp[i][j];
                dp[i+1][j]%=MOD;
                dp[i+1][j+(i+1)*(K+1)]+=MOD-dp[i][j];
                dp[i+1][j+(i+1)*(K+1)]%=MOD;
            }
        }
    }

    ll ans=0,cnt=0;
    cout<<K<<endl;//c_1
    for(int i=2;i<N;i++){
        cnt=K;
        for(int j=1;j<127510;j++){
            cnt+=dp[i-1][j]*dp[N-i][j]%MOD*(K+1);
            cnt%=MOD;
        }
        cout<<cnt<<endl;
    }
    cout<<K<<endl;//c_N
}
#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <cmath>
#include <string>
#include <vector>
#include <list>
#include <iomanip>
#include <stack>
#include <queue>
#include <deque>
#include <set>
#include <map>
#include <unordered_map>
#include <bitset>
#include <chrono>
#include <random>
#define rep(i,n) for(int i=0;i<n;i++)
#define repn(i,n) for(int i=1;i<=n;i++)
#define repr(e,x) for(auto& e:x)
using namespace std;
typedef long long ll;
typedef long double ld;
// typedef pair<int,int> P;
// typedef pair<int,P> IP;
// typedef pair<P,P> PP;
double const PI=3.141592653589793;
int const INF=1001001001;
ll const LINF=1001001001001001001;
ll const MOD=1000000007;

int N;
double x[2], y[2];

int main(){
    cin>>N;
    rep(i,2) cin>>x[i]>>y[i];

    double cx,cy;
    cx=(double)(x[0]+x[1])/2;
    cy=(double)(y[0]+y[1])/2;

    x[0]-=cx;
    y[0]-=cy;

    double a=2*PI/N;
    double ansx,ansy;
    ansx=x[0]*cos(a)-y[0]*sin(a);
    ansy=x[0]*sin(a)+y[0]*cos(a);

    ansx+=cx;
    ansy+=cy;

    cout<<setprecision(16)<<ansx<<' '<<ansy<<endl;
    
    return 0;
}