#include<stdio.h>
#define ll long long
#define N 31
ll l,y,n,c,a[N],b[N],m,j,i,x[N],z;
ll put(ll x,ll n)
{if(!n)
return 1;
if(n%2)
return x*put(x,(n-1)/2)*put(x,(n-1)/2);
return put(x,n/2)*put(x,n/2);}
ll min(ll x,ll y)
{return x<y?x:y;}
int main()
{FILE *f=fopen("shop.in","r"),*g=fopen("shop.out","w");
fscanf(f,"%lld%lld%lld",&n,&c,&l);
for(i=1;i<=n;i++)
fscanf(f,"%lld%lld",&a[i],&b[i]);
while(l)
{m=-1,j=0;
for(i=1;i<=n;i++)
if(m<a[i])
m=a[i],j=i;
y=put(c,m);
x[j]=min(l/y,b[j]);
a[j]=-1,l-=(x[j]*y),z+=x[j];}
fprintf(g,"%lld\n",z);
for(i=1;i<=n;i++)
fprintf(g,"%lld ",x[i]);
return 0;}