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

ll mypow(ll a,ll b){
  ll res=1;
  for(ll i=0;i<b;i++)
    res*=a;
  return res;
}

string s;
int len;
ll dp[20][10][10][10][2];

ll rec(int d,int x,int y,int z,int f){
  if( d== len )return 0;

  if( dp[d][x][y][z][f]!=-1 )return dp[d][x][y][z][f];
  
  int left=0,right=9;
  if(f)right=s[d]-'0';

  ll res=0;
  for(ll i=left;i<=right;i++){
    int nf=f;
    if(i < right)nf=0;
    if( x==5 && y==1 && i==3 ){
      ll last=len-d-1;
      if(nf==1){
        ll num=0;
        for(int j=d+1;j<len;j++)num=num*10LL + ( s[j]-'0');
        res+=(num+1);
      }else{
        res+= mypow(10,last);
      }
    }else{
      res+=rec(d+1,y,z,i,nf);
    }
  }
  
  return dp[d][x][y][z][f]=res;
}

int main(){
  for(int i=0;i<20;i++)
    for(int j=0;j<10;j++)
      for(int k=0;k<10;k++)
        for(int l=0;l<10;l++)
          for(int m=0;m<2;m++)
            dp[i][j][k][l][m]=-1;
  
  cin>>s;
  len=s.size();
  cout<< rec(0,0,0,0,1) <<endl;
  return 0;
}

