#include <bits/stdc++.h>
using namespace std;

//solve関数。falseなら7が入っている。trueなら7が入っていない。
bool solve7(int n){
    while(n!=0){
        if(n%8==7){
            return false;
        }
        //ケタを下ろしていく(1の桁以外を調べる)
        n /= 8;
    }
    return true;
}

bool solve10(int n){
    while(n!=0){
        if(n%10==7){
            return false;
        }
        //ケタを下ろしていく(1の桁以外を調べる)
        n /= 10;
    }
    return true;
}

int main(void)
{
    int n;
    cin >> n;

    int cnt = 0;

    for( int i=1 ; i<=n ; i++ ){
        //どっちの基準でも7が入っていなかったら、true。
        //数字をカウントする
        if( solve7(i) && solve10(i) ){
            cnt++;
        }
    }

    cout << cnt << endl; 

    return 0;
}
#include <bits/stdc++.h>
//#include <atcoder/all>
using namespace std;
#define rep(i,n) for(ll i=0; i<n; i++)
#define REP(i,m,n) for(ll i=(ll)(m);i<(ll)(n);i++)
#define rrep(i,n) for(ll i=n-1; i>=0; i--)
#define fi first
#define se second
long long mo = 1000000007;
typedef long long ll;
typedef long double ld;
typedef pair<int,int> Pii;
typedef pair<ll,ll> Pll;
typedef pair<ll,Pll> PlP;
template<class T, class S> void cmin(T &a, const S &b) { if (a > b)a = b; }
template<class T, class S> void cmax(T &a, const S &b) { if (a < b)a = b; }
template<class A>void PR(A a,ll n){rep(i,n){if(i)cout<<' ';cout<<a[i];}cout << "\n";}
template<typename T> void drop(const T &x){cout<<x<<endl;exit(0);}
string zero_padding(int val, int nf){ ostringstream sout;sout << setfill('0') << setw(nf) << val; return sout.str();};
ld PI=3.14159265358979323846;
//using namespace atcoder;

string toeight(ll a){
    string ret = "";
    while(a>0){
        ll r = a % 8;
        ret = ret + char(r +'0');
        a /= 8;
    }
    return ret;
}

int main(){
    ll N;
    cin >> N;
    ll ans = 0;
    REP(i,1,N+1){
        string S = to_string(i);
        string T = toeight(i);
        rep(j,S.size()){
            if(S[j] == '7') goto gt;
        }
        rep(j,T.size()){
            if(T[j] == '7') goto gt;
        }
        ans++;
        gt:
        continue;
    }

    cout << ans << endl;
}