#include <iostream>
#include <map>
using namespace std;

int n, ret=0;

void dfs(long a){
  if(a>n)return;
  long a0=a;
  map<int, int>m;
  while(a0>0){
    m[a0%10]++;
    a0/=10;
  }
  if(m.size()==3)ret++;
  dfs(a*10+3);
  dfs(a*10+5);
  dfs(a*10+7);
  return;
}

int main(){
  cin >> n;
  dfs(3);
  dfs(5);
  dfs(7);
  cout << ret;
  return 0;
}