#include<stdio.h>
#include<string.h>
#include <math.h>
int skillCost[110];
int skillhurt[110];
int dp[110];//dp[i][j]表示第i轮攻击,boss还剩下j滴hp时候剩下的最大mp
int max(int a,int b)
{
return a>b?a:b;
}
int main()
{
int n,t,q;
while(scanf("%d%d%d",&n,&t,&q), n + t + q)
{
int T;
T = ceil(100.0 / q);
memset(dp,-1,sizeof(dp));
dp[100]=100;
int i,j,k;
for(i=1;i<=n;i++)
scanf("%d%d",&skillCost[i],&skillhurt[i]);
skillCost[0]=0;
skillhurt[0]=1;
bool flag=false;
for(i=1;i<=T;i++)
{
for(j=1;j<=100;j++)
{
if(dp[j]!=-1)
{
for(k=0;k<=n;k++)
{
if(j<=skillhurt[k]&&dp[j]>=skillCost[k])
{
printf("%d\n",i);
flag=true;
break;
}
else if(j>skillhurt[k]&&dp[j]>=skillCost[k])
dp[j-skillhurt[k]]=max(dp[j-skillhurt[k]],
dp[j]-skillCost[k]+t);
}
}
if(flag==true)
break;
}
if(flag==true)
break;
}
if(flag==false)printf("My god\n");
}
return 0;
}