#include <bits/stdc++.h>
using namespace std;
#define Foreach(i, c) for(__typeof((c).begin()) i = (c).begin(); i != (c).end(); ++i)
#define For(i,a,b) for(int (i)=(a);(i) < (b); ++(i))
#define rof(i,a,b) for(int (i)=(a);(i) > (b); --(i))
#define rep(i, c) for(auto &(i) : (c))
#define x first
#define y second
#define pb push_back
#define PB pop_back()
#define iOS ios_base::sync_with_stdio(false)
#define sqr(a) (((a) * (a)))
#define all(a) a.begin() , a.end()
#define error(x) cerr << #x << " = " << (x) <<endl
#define Error(a,b) cerr<<"( "<<#a<<" , "<<#b<<" ) = ( "<<(a)<<" , "<<(b)<<" )\n";
#define errop(a) cerr<<#a<<" = ( "<<((a).x)<<" , "<<((a).y)<<" )\n";
#define coud(a,b) cout<<fixed << setprecision((b)) << (a)
#define L(x) ((x)<<1)
#define R(x) (((x)<<1)+1)
#define umap unordered_map
//#define max(x,y) ((x) > (y) ? (x) : (y))
#define double long double
typedef long long ll;
typedef pair<int,int>pii;
typedef vector<int> vi;
typedef complex<double> point;
inline ll binary(string n){
ll ans = 0LL;
For(i,0,n.size())
ans = (2LL*ans + (ll)(n[i]-'0'));
ll p = 1LL;
For(i,0,n.size())
p = (p << 1);
ans += p-1LL;
return ans;
}
inline string lu(string s){
For(i,0,s.size())
s[i] = (char)(s[i]=='4'?'0':'1');
return s;
}
int main(){
iOS;
string n;
cin >> n;
cout << binary(lu(n)) << endl;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgRm9yZWFjaChpLCBjKSBmb3IoX190eXBlb2YoKGMpLmJlZ2luKCkpIGkgPSAoYykuYmVnaW4oKTsgaSAhPSAoYykuZW5kKCk7ICsraSkKI2RlZmluZSBGb3IoaSxhLGIpIGZvcihpbnQgKGkpPShhKTsoaSkgPCAoYik7ICsrKGkpKQojZGVmaW5lIHJvZihpLGEsYikgZm9yKGludCAoaSk9KGEpOyhpKSA+IChiKTsgLS0oaSkpCiNkZWZpbmUgcmVwKGksIGMpICBmb3IoYXV0byAmKGkpIDogKGMpKQojZGVmaW5lIHggICAgIGZpcnN0CiNkZWZpbmUgeSAgICAgc2Vjb25kCiNkZWZpbmUgcGIgIHB1c2hfYmFjawojZGVmaW5lIFBCICBwb3BfYmFjaygpCiNkZWZpbmUgaU9TICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKQojZGVmaW5lIHNxcihhKSAgKCgoYSkgKiAoYSkpKQojZGVmaW5lIGFsbChhKSAgYS5iZWdpbigpICwgYS5lbmQoKQojZGVmaW5lIGVycm9yKHgpIGNlcnIgPDwgI3ggPDwgIiA9ICIgPDwgKHgpIDw8ZW5kbAojZGVmaW5lIEVycm9yKGEsYikgY2Vycjw8IiggIjw8I2E8PCIgLCAiPDwjYjw8IiApID0gKCAiPDwoYSk8PCIgLCAiPDwoYik8PCIgKVxuIjsKI2RlZmluZSBlcnJvcChhKSBjZXJyPDwjYTw8IiA9ICggIjw8KChhKS54KTw8IiAsICI8PCgoYSkueSk8PCIgKVxuIjsKI2RlZmluZSBjb3VkKGEsYikgY291dDw8Zml4ZWQgPDwgc2V0cHJlY2lzaW9uKChiKSkgPDwgKGEpCiNkZWZpbmUgTCh4KSAgKCh4KTw8MSkKI2RlZmluZSBSKHgpICAoKCh4KTw8MSkrMSkKI2RlZmluZSB1bWFwICB1bm9yZGVyZWRfbWFwCi8vI2RlZmluZSBtYXgoeCx5KSAgKCh4KSA+ICh5KSA/ICh4KSA6ICh5KSkKI2RlZmluZSBkb3VibGUgbG9uZyBkb3VibGUKdHlwZWRlZiBsb25nIGxvbmcgbGw7CnR5cGVkZWYgcGFpcjxpbnQsaW50PnBpaTsKdHlwZWRlZiB2ZWN0b3I8aW50PiB2aTsKdHlwZWRlZiBjb21wbGV4PGRvdWJsZT4gcG9pbnQ7CmlubGluZSBsbCBiaW5hcnkoc3RyaW5nIG4pewoJbGwgYW5zID0gMExMOwoJRm9yKGksMCxuLnNpemUoKSkKCQlhbnMgID0gKDJMTCphbnMgKyAobGwpKG5baV0tJzAnKSk7CglsbCBwID0gMUxMOwoJRm9yKGksMCxuLnNpemUoKSkKCQlwID0gKHAgPDwgMSk7CglhbnMgKz0gcC0xTEw7CglyZXR1cm4gYW5zOwp9CmlubGluZSBzdHJpbmcgbHUoc3RyaW5nIHMpewoJRm9yKGksMCxzLnNpemUoKSkKCQlzW2ldID0gKGNoYXIpKHNbaV09PSc0Jz8nMCc6JzEnKTsKCXJldHVybiBzOwp9CmludCBtYWluKCl7CglpT1M7CglzdHJpbmcgbjsKCWNpbiA+PiBuOwoJY291dCA8PCBiaW5hcnkobHUobikpIDw8IGVuZGw7Cn0K