#include <bits/stdc++.h>
using namespace std;
int dy[5] = {0, 0, 1, -1, 0};
int dx[5] = {1, -1, 0, 0, 0};
long long int n;
long long int ans = 0;
void dfs(long long int i, long long int x, long long int y, long long int z) {
  if (i > n) {
    return;
  }
  if (x >= 1 && y >= 1 && z >= 1) {
    ans++;
  }
  dfs(10 * i + 3, x++, y, z);
  dfs(10 * i + 5, x, y++, z);
  dfs(10 * i + 7, x, y, z++);
}
int main(void) {
  cin >> n;
  dfs(3, 1, 0, 0);
  dfs(5, 0, 1, 0);
  dfs(7, 0, 0, 1);
  cout << ans << endl;
  return 0;
}
