#include <bits/stdc++.h>
using namespace std;
int main(void) {
  long N;
  cin >> N;
  int num[4];
  num[0] = 3;
  num[1] = 5;
  num[2] = 7;
  num[3] = 0;
  int count = 0;
  bool check1 = false;
  bool check2 = false;
  bool check3 = false;
  long max = N;
  int rep = 0;
  while (max > 0) {
    max = max / 10;
    rep++;
  }
  if (rep >= 9) {
    for (int i = 0; i < 3; i++) {
      for (int j = 0; j < 3; j++) {
        for (int k = 0; k < 3; k++) {
          for (int l = 0; l < 3; l++) {
            for (int m = 0; m < 3; m++) {
              for (int n = 0; n < 3; n++) {
                for (int o = 0; o < 3; o++) {
                  for (int p = 0; p < 3; p++) {
                    for (int q = 0; q < 3; q++) {
                      if (i == 0 || j == 0 || k == 0 || l == 0 || m == 0 ||
                          n == 0 || o == 0 || p == 0 || q == 0) {
                        check1 = true;
                      }
                      if (i == 1 || j == 1 || k == 1 || l == 1 || m == 1 ||
                          n == 1 || o == 1 || p == 1 || q == 1) {
                        check2 = true;
                      }
                      if (i == 2 || j == 2 || k == 2 || l == 2 || m == 2 ||
                          n == 2 || o == 2 || p == 2 || q == 2) {
                        check3 = true;
                      }
                      long sum = num[i] + num[j] * 10 + num[k] * 100 +
                                 num[l] * 1000 + num[m] * 10000 +
                                 num[n] * 100000 + num[o] * 1000000 +
                                 num[p] * 10000000 + num[q] * 100000000;
                      if (sum <= N && check1 && check2 && check3) {
                        count++;
                      }
                      check1 = false;
                      check2 = false;
                      check3 = false;
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
  check1 = false;
  check2 = false;
  check3 = false;
  if (rep >= 8) {
    for (int i = 0; i < 3; i++) {
      for (int j = 0; j < 3; j++) {
        for (int k = 0; k < 3; k++) {
          for (int l = 0; l < 3; l++) {
            for (int m = 0; m < 3; m++) {
              for (int n = 0; n < 3; n++) {
                for (int o = 0; o < 3; o++) {
                  for (int p = 0; p < 3; p++) {
                    if (i == 0 || j == 0 || k == 0 || l == 0 || m == 0 ||
                        n == 0 || o == 0 || p == 0) {
                      check1 = true;
                    }
                    if (i == 1 || j == 1 || k == 1 || l == 1 || m == 1 ||
                        n == 1 || o == 1 || p == 1) {
                      check2 = true;
                    }
                    if (i == 2 || j == 2 || k == 2 || l == 2 || m == 2 ||
                        n == 2 || o == 2 || p == 2) {
                      check3 = true;
                    }
                    long sum = num[i] + num[j] * 10 + num[k] * 100 +
                               num[l] * 1000 + num[m] * 10000 +
                               num[n] * 100000 + num[o] * 1000000 +
                               num[p] * 10000000;
                    if (sum <= N && check1 && check2 && check3) {
                      count++;
                    }
                    check1 = false;
                    check2 = false;
                    check3 = false;
                  }
                }
              }
            }
          }
        }
      }
    }
  }
  check1 = false;
  check2 = false;
  check3 = false;
  if (rep >= 7) {
    for (int i = 0; i < 3; i++) {
      for (int j = 0; j < 3; j++) {
        for (int k = 0; k < 3; k++) {
          for (int l = 0; l < 3; l++) {
            for (int m = 0; m < 3; m++) {
              for (int n = 0; n < 3; n++) {
                for (int o = 0; o < 3; o++) {
                  if (i == 0 || j == 0 || k == 0 || l == 0 || m == 0 ||
                      n == 0 || o == 0) {
                    check1 = true;
                  }
                  if (i == 1 || j == 1 || k == 1 || l == 1 || m == 1 ||
                      n == 1 || o == 1) {
                    check2 = true;
                  }
                  if (i == 2 || j == 2 || k == 2 || l == 2 || m == 2 ||
                      n == 2 || o == 2) {
                    check3 = true;
                  }
                  long sum = num[i] + num[j] * 10 + num[k] * 100 +
                             num[l] * 1000 + num[m] * 10000 + num[n] * 100000 +
                             num[o] * 1000000;
                  if (sum <= N && check1 && check2 && check3) {
                    count++;
                  }
                  check1 = false;
                  check2 = false;
                  check3 = false;
                }
              }
            }
          }
        }
      }
    }
  }
  check1 = false;
  check2 = false;
  check3 = false;
  if (rep >= 6) {
    for (int i = 0; i < 3; i++) {
      for (int j = 0; j < 3; j++) {
        for (int k = 0; k < 3; k++) {
          for (int l = 0; l < 3; l++) {
            for (int m = 0; m < 3; m++) {
              for (int n = 0; n < 3; n++) {
                if (i == 0 || j == 0 || k == 0 || l == 0 || m == 0 || n == 0) {
                  check1 = true;
                }
                if (i == 1 || j == 1 || k == 1 || l == 1 || m == 1 || n == 1) {
                  check2 = true;
                }
                if (i == 2 || j == 2 || k == 2 || l == 2 || m == 2 || n == 2) {
                  check3 = true;
                }
                long sum = num[i] + num[j] * 10 + num[k] * 100 + num[l] * 1000 +
                           num[m] * 10000 + num[n] * 100000;
                if (sum <= N && check1 && check2 && check3) {
                  count++;
                }
                check1 = false;
                check2 = false;
                check3 = false;
              }
            }
          }
        }
      }
    }
  }
  check1 = false;
  check2 = false;
  check3 = false;
  if (rep >= 5) {
    for (int i = 0; i < 3; i++) {
      for (int j = 0; j < 3; j++) {
        for (int k = 0; k < 3; k++) {
          for (int l = 0; l < 3; l++) {
            for (int m = 0; m < 3; m++) {
              if (i == 0 || j == 0 || k == 0 || l == 0 || m == 0) {
                check1 = true;
              }
              if (i == 1 || j == 1 || k == 1 || l == 1 || m == 1) {
                check2 = true;
              }
              if (i == 2 || j == 2 || k == 2 || l == 2 || m == 2) {
                check3 = true;
              }
              long sum = num[i] + num[j] * 10 + num[k] * 100 + num[l] * 1000 +
                         num[m] * 10000;
              if (sum <= N && check1 && check2 && check3) {
                count++;
              }
            }
          }
        }
      }
    }
  }
  check1 = false;
  check2 = false;
  check3 = false;
  if (rep >= 4) {
    for (int i = 0; i < 3; i++) {
      for (int j = 0; j < 3; j++) {
        for (int k = 0; k < 3; k++) {
          for (int l = 0; l < 3; l++) {
            if (i == 0 || j == 0 || k == 0 || l == 0) {
              check1 = true;
            }
            if (i == 1 || j == 1 || k == 1 || l == 1) {
              check2 = true;
            }
            if (i == 2 || j == 2 || k == 2 || l == 2) {
              check3 = true;
            }
            long sum = num[i] + num[j] * 10 + num[k] * 100 + num[l] * 1000;
            if (sum <= N && check1 && check2 && check3) {
              count++;
            }
            check1 = false;
            check2 = false;
            check3 = false;
          }
        }
      }
    }
  }
  check1 = false;
  check2 = false;
  check3 = false;
  if (rep >= 3) {
    for (int i = 0; i < 3; i++) {
      for (int j = 0; j < 3; j++) {
        for (int k = 0; k < 3; k++) {
          if (i == 0 || j == 0 || k == 0) {
            check1 = true;
          }
          if (i == 1 || j == 1 || k == 1) {
            check2 = true;
          }
          if (i == 2 || j == 2 || k == 2) {
            check3 = true;
          }
          long sum = num[i] + num[j] * 10 + num[k] * 100;
          if (sum <= N && check1 && check2 && check3) {
            count++;
          }
          check1 = false;
          check2 = false;
          check3 = false;
        }
      }
    }
  }
  cout << count;
  return 0;
}
