#include <bits/stdc++.h>
using ll = long long;
using namespace std;
set<int> get357(set<int> s, int n) {
  set<int> a;
  for (auto v : s) {
    a.insert(v);
    a.insert(v * 10 + 3);
    a.insert(v * 10 + 5);
    a.insert(v * 10 + 7);
  }
  if (n == 1)
    return a;
  else
    return get357(a, n - 1);
}
int main() {
  int N;
  cin >> N;
  int ans = 0;
  set<int> a;
  a.insert(3);
  a.insert(5);
  a.insert(7);
  set<int> b = get357(a, to_string(N).size() - 1);
  for (auto v : b) {
    if (N < v) break;
    string s = to_string(v);
    if (s.find('3') != string::npos && s.find('5') != string::npos &&
        s.find('7') != string::npos)
      ans++;
  }
  cout << ans << endl;
  return 0;
}
