#include <bits/stdc++.h>
int s[110], l;
void qiu(int n) {
  l = 0;
  while (n) {
    s[l++] = n % 10;
    n /= 10;
  }
}
int main() {
  int n, j, ans = 0, a, b, c, i;
  scanf("%d", &n);
  if (n < 350) {
    printf("0\n");
    return 0;
  }
  for (i = 355; i < n; i++) {
    a = 0, b = 0, c = 0;
    if (i > 760 && i < 3040) i *= 4;
    if (i > 7600 && i < 30400) i *= 4;
    if (i > 76000 && i < 304000) i *= 4;
    if (i > 760000 && i < 3040000) i *= 4;
    if (i > 7600000 && i < 30400000) i *= 4;
    qiu(i);
    for (j = 0; j < l; j++) {
      if (s[j] == 7) a++;
      if (s[j] == 3) b++;
      if (s[j] == 5) c++;
      if ((a + b + c) == l && a && b && c) {
        ans++;
        break;
      }
    }
  }
  printf("%d\n", ans);
  return 0;
}
