#include <bits/stdc++.h>
using namespace std;
vector<int> vec;
long long MAX;
void dfs(long long v) {
  if (v > MAX) {
    return;
  }
  vec.push_back(v);
  dfs(v * 10 + 4);
  dfs(v * 10 + 7);
}
int main() {
  int n;
  int ans;
  while (scanf("%I64d", &MAX) != EOF) {
    vec.clear();
    dfs(4);
    dfs(7);
    printf("%d\n", vec.size());
  }
}
