#include<bits/stdc++.h>
using namespace std;
struct node{
int len,left,time;//len表示已走路程,left表示剩余能量,time代表已用时间
node(int _len=0,int _left=0,int _time=0):len(_len),left(_left),time(_time){ }
}b[10001];
int m,s,t,front=0,rear=0,ans=INT_MIN;
int main()
{
cin>>m>>s>>t;
b[rear].left=m;
b[rear].len=0;
b[rear++].time=0;
while(rear!=front)
{
int left=b[front].left,len=b[front].len,time=b[front].time;
if(time>=t&&len<s)
{
if(++front>10000)front=0;
continue;
}
if(len>=s)
{
cout<<"Yes"<<endl<<time;
return 0;
}
ans=max(len,ans);
if(left>=10)
{
b[rear].left=left-10;
b[rear].len=len+60;
b[rear].time=time+1;
if(++rear>10000)rear=0;
}
b[rear].left=left;
b[rear].len=len+17;
b[rear].time=time+1;
if(++rear>10000)rear=0;
b[rear].left=left+4;
b[rear].len=len;
b[rear].time=time+1;
if(++rear>10000)rear=0;
if(++front>10000)front=0;
}
// cout<<"<<<<<<<<<<<<<<<<<<<<<"<<endl;
cout<<"No"<<endl<<ans<<endl;
return 0;
}