#include <bits/stdc++.h>
#define ll long long
#define ld long double
#define nl "\n"
#define OO 0x3f3f3f3f
using namespace std;
void ta2to2a()
{
ios_base::sync_with_stdio(false), cout.tie(nullptr), cin.tie(nullptr);
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
}
int n;
ll shichiGoSan(ll num, bool three, bool five, bool seven)
{
ll ans = 0;
if (num > n)
{
return 0;
}
else if (num <= n && three && five && seven)
{
return 1;
}
ans += shichiGoSan(num * 10 + 3, true, five, seven) + shichiGoSan(num * 10 + 5, three, true, seven) + shichiGoSan(num * 10 + 7, three, five, true);
return ans;
}
void solve()
{
cin >> n;
cout << shichiGoSan(0, false, false, false);
}
int main()
{
ta2to2a();
int t = 1;
// cin >> t;
while (t--)
{
solve();
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgbGQgbG9uZyBkb3VibGUKI2RlZmluZSBubCAiXG4iCiNkZWZpbmUgT08gMHgzZjNmM2YzZgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp2b2lkIHRhMnRvMmEoKQp7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKSwgY291dC50aWUobnVsbHB0ciksIGNpbi50aWUobnVsbHB0cik7CiNpZm5kZWYgT05MSU5FX0pVREdFCiAgICBmcmVvcGVuKCJpbnB1dC50eHQiLCAiciIsIHN0ZGluKTsKICAgIGZyZW9wZW4oIm91dHB1dC50eHQiLCAidyIsIHN0ZG91dCk7CiNlbmRpZgp9CmludCBuOwpsbCBzaGljaGlHb1NhbihsbCBudW0sIGJvb2wgdGhyZWUsIGJvb2wgZml2ZSwgYm9vbCBzZXZlbikKewogICAgbGwgYW5zID0gMDsKICAgIGlmIChudW0gPiBuKQogICAgewogICAgICAgIHJldHVybiAwOwogICAgfQogICAgZWxzZSBpZiAobnVtIDw9IG4gJiYgdGhyZWUgJiYgZml2ZSAmJiBzZXZlbikKICAgIHsKICAgICAgICByZXR1cm4gMTsKICAgIH0KICAgIGFucyArPSBzaGljaGlHb1NhbihudW0gKiAxMCArIDMsIHRydWUsIGZpdmUsIHNldmVuKSArIHNoaWNoaUdvU2FuKG51bSAqIDEwICsgNSwgdGhyZWUsIHRydWUsIHNldmVuKSArIHNoaWNoaUdvU2FuKG51bSAqIDEwICsgNywgdGhyZWUsIGZpdmUsIHRydWUpOwogICAgcmV0dXJuIGFuczsKfQp2b2lkIHNvbHZlKCkKewogICAgY2luID4+IG47CiAgICBjb3V0IDw8IHNoaWNoaUdvU2FuKDAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOwp9CmludCBtYWluKCkKewogICAgdGEydG8yYSgpOwogICAgaW50IHQgPSAxOwogICAgLy8gY2luID4+IHQ7CiAgICB3aGlsZSAodC0tKQogICAgewogICAgICAgIHNvbHZlKCk7CiAgICB9Cn0=