#include <bits/stdc++.h>
using namespace std;
void dfs(int s, int n, int &ans) {
  if (s > n) {
    return;
  }
  string a = to_string(s);
  set<int> cont;
  for (int i = 0; i < a.size(); i++) {
    if (a.at(i) == '3') {
      cont.insert(3);
    } else if (a.at(i) == '5') {
      cont.insert(5);
    } else {
      cont.insert(7);
    }
    if (cont.count(3) && cont.count(5) && cont.count(7)) {
      break;
    }
  }
  if (cont.count(3) && cont.count(5) && cont.count(7)) {
    ans++;
  }
  dfs(s * 10 + 3, n, ans);
  dfs(s * 10 + 5, n, ans);
  dfs(s * 10 + 7, n, ans);
}
int main() {
  int n;
  cin >> n;
  int ans = 0;
  dfs(0, n, ans);
  cout << ans << endl;
}
