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

vector<int>ans;
void backtrack(ll n,int a,int b,int c)
{
	if(n>1e9)return;
	if(a&&b&&c)ans.push_back(n);
	backtrack(n*10+3,true,false,false);
	backtrack(n*10+5,false,true,false);
	backtrack(n*10+7,false,false,true);
}

int main()
{
	backtrack(0,0,0,0);
	int n;
	cin>>n;
	sort(ans.begin(),ans.end());
	int t=lower_bound(ans.begin(),ans.end(),n)-ans.begin()+1;
	cout<<t;
}