#include <bits/stdc++.h>
using namespace std;
const int INF = (1 << 28);
long long n;
int func(long long num, int th, int fi, int se) {
  int ans = 0;
  if (num * 10 + 3 < n) {
    ans += func(num * 10 + 3, th + 1, fi, se);
  } else {
    if (th > 0 && fi > 0 && se > 0)
      return 1 + ans;
    else
      return ans;
  }
  if (num * 10 + 3 < n) {
    ans += func(num * 10 + 5, th, fi + 1, se);
  } else {
    if (th > 0 && fi > 0 && se > 0)
      return 1 + ans;
    else
      return ans;
  }
  if (num * 10 + 3 < n) {
    ans += func(num * 10 + 7, th, fi, se + 1);
  } else {
    if (th > 0 && fi > 0 && se > 0)
      return 1 + ans;
    else
      return ans;
  }
  if (th > 0 && fi > 0 && se > 0)
    return 1 + ans;
  else
    return ans;
}
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  cin >> n;
  cout << func(0, 0, 0, 0) << "\n";
}
