#include<stdio.h>
long long l,y,n,c,a[31],b[31],m,j,i,x[31],z;
long long P(long long x,long long n) { return !n?1:(n%2?x*P(x,(n-1)/2)*P(x,(n-1)/2):P(x,n/2)*P(x,n/2); }
int main() {
freopen("shop.in","r",stdin),freopen("shop.out","w",stdout),scanf("%lld%lld%lld",&n,&c,&l);
for(i=1;i<=n;i++)
scanf("%lld%lld",a+i,b+i);
while(l) {
for(m=-1,j=0,i=1;i<=n;i++)
if(m<a[i])
m=a[i],j=i;
y=P(c,m),x[j]=l/y<b[j]?l/y:b[j],a[j]=-1,l-=(x[j]*y),z+=x[j];
}
printf("%lld\n",z);
for(i=1;i<=n;i++)
printf("%lld ",x[i]);
}