#include using namespace std; #define REP(i, s) for (int i = 0; i < s; ++i) #define ALL(v) (v).begin(), (v).end() #define COUT(x) cout << #x << " = " << (x) << " (L" << __LINE__ << ")" << endl #define EACH(i, s) for (__typeof__((s).begin()) i = (s).begin(); i != (s).end(); ++i) #define DEBUG #define int long long #define INF 1e18 template inline bool chmax(T &a, T b) { if (a < b) { a = b; return 1; } return 0; } template inline bool chmin(T &a, T b) { if (a > b) { a = b; return 1; } return 0; } template ostream &operator<<(ostream &s, pair P) { return s << '<' << P.first << ", " << P.second << '>'; } template ostream &operator<<(ostream &s, vector P) { for (int i = 0; i < P.size(); ++i) { if (i > 0) { s << " "; } s << P[i]; } return s; } template ostream &operator<<(ostream &s, vector> P) { for (int i = 0; i < P.size(); ++i) { s << endl << P[i]; } return s << endl; } template ostream &operator<<(ostream &s, set P) { EACH(it, P) { s << "<" << *it << "> "; } return s << endl; } template ostream &operator<<(ostream &s, map P) { EACH(it, P) { s << "<" << it->first << "->" << it->second << "> "; } return s << endl; } template void show(vector v) { for (int i = 0; i < v.size(); i++) { cerr << v[i] << " "; } cerr << "\n"; } typedef long long ll; signed main() { int x, y, h; cin >> x >> y >> h; /* if (x == y && y == h) { cout << 8 << endl; return 0; }*/ x *= 1000; y *= 1000; int cnt = 0; if(x>y) swap(x,y); while (x > h) { if (x > h) { cnt++; y *= 2; h *= 4; } // cerr< h) { if (y > h) { cnt++; x *= 2; h *= 4; } // cerr << x << " " << y << " " << h << endl; } cout << cnt << endl; return 0; }