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

const int INF=1e9;
int main(){
    int c,n,m;
    cin>>c>>n>>m;
    vector<int> s(n),p(n);
    for(int i=0;i<n;i++) cin>>s[i]>>p[i];
    vector<vector<int>> dp(2,vector<int>(c+1,-INF));
    dp[0][0]=0;
    for(int i=0;i<n;i++){
        fill(dp[(i+1)&1].begin(),dp[(i+1)&1].end(),-INF);
        int to=(i+1)&1,fr=i&1;
        for(int j=0;j<=c;j++){
            dp[to][j]=max(dp[to][j],dp[fr][j]);
        }
        int ub=c-s[i];
        for(int j=0;j<=ub;j++){
            dp[to][j+s[i]]=max(dp[to][j+s[i]],dp[fr][j]+p[i]);
        }
    }
    vector<int> tmp=dp[n&1];
    for(int i=1;i<=c;i++){
        tmp[i]=max(tmp[i],tmp[i-1]);        
    }
    vector<int> res(m);
    for(int i=0;i<m;i++){
        res[i]=tmp[c/(i+1)]*(i+1);
    }

    for(int i=0;i<m;i++){
        cout<<res[i]<<endl;
    }

    return 0;
}
