Go: package main

import "fmt"

func main() {
	var v float64
	for {
		i, _ := fmt.Scan(&v)
		if i == 0 {
			break
		}
		t := v / 9.8
		y := 4.9 * t * t

		N := 0
		for {
			N++
			if height := 5*N - 5; float64(height) > y {
				fmt.Println(N)
				break
			}
		}
	}
}

C++: #include <stdio.h>

int main(void) {
  int n, i, j, k;
  double v;
  while(scanf("%lf", &v) != EOF) {
    v /= 9.8;
    double y = 4.9 * v * v;
    y += 5;
    if((int)(y / 5) == y / 5.0) printf("%d\n", (int)(y / 5));
    else printf("%d\n", (int)(y / 5 + 1));
  }
  return 0;
}

C++: #include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>

#include<vector>

#define INF 999999
using namespace std;
int main(){
    double high,Y,i;
    while(~scanf("%lf",&high)){
        int F=1;
        for(i=1.0;i<1000;i+=0.01){
            if(9.8*i>=high)break;
        }
        Y=4.9*(i*i);
        for(;;){
            if(Y<=0)break;
            Y-=5;
            F++;
        }
        cout<<F<<endl;
    }
    return 0;
}

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

typedef complex<double> P;

int main(){
	double V;
	while(cin>>V){
		for(int i = 1 ; ; i++){
			double y = 5 * i - 5;
			double t = sqrt(y/4.9);
			double v = 9.8*t;
			if(v>=V-1e-9){
				cout << i << endl;
				break;
			}
		}

		
	}
}

C++: #include <cstdio>

using namespace std;

int main()
{
	// v = 9.8t y = 4.9t^2
	
	double t,y,x;
	int n;
	
	while(scanf("%lf", &x) != EOF){
	
		t = x / 9.8;
		y = 4.9 * t * t;
		
		n = y;
		
		n /= 5;
		
		printf("%d\n"n+2);
	}
	return(0);
}

C++: #include<iostream>
using namespace std;
int main(){
  double v,y,t;
  int h,a,b;
  while(cin>>v){
  t = v / 9.8;
  y = 4.9 * t * t;
  h = (y+5)/5;
  a = y+5;
  b = a % 5; 
    if(b!=0) h = h + 1;
  cout << h << endl;
  }
  return 0;
}

C++: #include<string>
#include<vector>
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstdlib>
#include<sstream>
#include<functional>
#include<map>
#include<stack>
#include<set>
#include<cmath>

#define REP(i,s,e) for(int i=int(s);i<=int(e);i++)
#define rep(i,n) for(int i=0;i<int(n);i++)

#define EPS 1e-6

using namespace std;

int main(){

	double v;
	double g=9.8;

	while(true){

	cin >> v;

	if(cin.fail()) break;

	int h=(v*v)/(10*g)+2;

	cout << h << endl;

	}

	return 0;
}

C++: #include <stdio.h>
#include <math.h>

int rheight(double h){
	return (int)ceil(h / 5) + 1;
}

int main(void){
	double v = 0.0;
	double t, y;
	while(scanf("%lf", &v) != EOF){
		y = v * v / 9.8 / 2;
		printf("%d\n", rheight(y));
	}
	return 0;
}

C++: #include <iostream>
#include <string>
#include <algorithm>
#include <functional>
#include <vector>
#include <utility>
#include <cstring>
#include <iomanip>
#include <numeric>
#include <cmath>
#include <queue>
#include <map>
using namespace std;
typedef long long ll;
const int INF = 1<<30; 
const int MOD = 1e9 + 7;
const int dy[] = {1, 0, -1, 0};
const int dx[] = {0, 1, 0, -1};
int main()
{
    cin.tie(0);
    ios::sync_with_stdio(false);
    double v;
    while(cin >> v)
    {
        double t = v / 9.8;
        double y = 4.9 * t * t;
        int h = 1;
        while(1)
        {
            if(y < 5 * h - 5) break;
            h++;
        }
        cout << h << endl;
    }
    return 0;
}

C++: #include <iostream>
#include <string>
#include <vector>
#include <cmath>
#include <algorithm>
#include <cstdlib>
#include <ctime>
#include <cstdio>
#include <functional>
#include <set>
#include <sstream>
#include <map>

using namespace std;

const double eps=1e-10;

int main()
{
	double v;
	while(cin>>v){
		unsigned long long l=1,r=1e16,h;

		for(int i=0;i<1000;i++){

//			cout<<l<<" "<<r<<endl;

			h=(l+r)/2;
			double vv=2.0*(5*h-5)*9.8;

			if(v*v>vv) l=h;
			else if(v*v<vv) r=h;
		}

		if( v*v-(5*l-5)/4.9*9.8*9.8<=eps ) cout<<l<<endl;
		else cout<<r<<endl;

	}

	return 0;
}

C++: #include<bits/stdc++.h>
#include<vector>
#include<list>
#include<stack>
#include<queue>
#include<algorithm>
using namespace std;

int main(){
    int mod=1000000007;
    int n;
    int ans;
    double v;
    while (scanf("%lf",&v)!=EOF) {
        for (int i=0;;i++) {
            double t=v/9.8;
            double y=t*t*4.9;
            n=(int)floor((y+5.0)/5.0);
            int tmp;
            for (int j=1;;j++) {
                if (j*5-5>=y) {
                    tmp=j;
                    break;
                }
            }
            printf("%d\n",tmp);
        }
    }
    return 0;
}

C++: #include <iostream>
using namespace std;

int main(){
  double b,v2,n;
  int i;
  while(cin>>b){
    i=0;
    n=0;
    v2=0;
    while(v2<b*b){
    i++;
    n+=5;
    v2=19.6*n;
    }
    cout<<i+1<<endl;
  }
    
    return 0;
}

C++: #include<stdio.h>

int main(){
  double x;
  while(scanf("%lf", &x) != EOF){
    printf("%d\n", (int)(((x / 9.8) * (x / 9.8) * 4.9 + 5) / 5) + 1);
  }
  return 0;
}

C++: #include <cmath>
#include <iostream>

using namespace std;

int main()
{
	double v;

	while (cin >> v)
	{
		cout << static_cast<int>((4.9 * pow(v / 9.8, 2) + 10) / 5) << endl;
	}

	return 0;
}

C++: //include
//------------------------------------------
#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cctype>
#include <string>
#include <cstring>
#include <ctime>

using namespace std;

//conversion
//------------------------------------------
inline int toInt(string s) {int v; istringstream sin(s);sin>>v;return v;}
template<class T> inline string toString(T x) {ostringstream sout;sout<<x;return sout.str();}

//math
//-------------------------------------------
template<class T> inline T sqr(T x) {return x*x;}

//typedef
//------------------------------------------
typedef vector<int> VI;
typedef vector<VI> VVI;
typedef vector<string> VS;
typedef pair<int, int> PII;
typedef long long LL;
typedef unsigned long long ULL;

//container util
//------------------------------------------
#define ALL(a)  (a).begin(),(a).end()
#define RALL(a) (a).rbegin(), (a).rend()
#define PB push_back
#define MP make_pair
#define SZ(a) int((a).size())
#define EACH(i,c) for(typeof((c).begin()) i=(c).begin(); i!=(c).end(); ++i)
#define EXIST(s,e) ((s).find(e)!=(s).end())
#define SORT(c) sort((c).begin(),(c).end())

//repetition
//------------------------------------------
#define FOR(i,a,b) for(int i=(a);i<(b);++i)
#define REP(i,n)  FOR(i,0,n)

//constant
//--------------------------------------------
const double EPS = 1e-10;
const double PI  = acos(-1.0);

//clear memory
#define CLR(a) memset((a), 0 ,sizeof(a))

//debug
#define dump(x)  cerr << #x << " = " << (x) << endl;
#define debug(x) cerr << #x << " = " << (x) << " (L" << __LINE__ << ")" << " " << __FILE__ << endl;

int main() {
  int n;
  double y, v, t;

  while(cin >> v) {
    t = v/9.8;
    y = 4.9 * t * t;

    int i = 1;
    while(1) {
      if(5*i-5 > y) {
	n = i;
	break;
      }
      i++;
    }
    cout << n << endl;
  }
}

C++: #include<iostream>
#include<cmath>
using namespace std;
int fl(double v){
    double y=v*v/19.6;
    return 1+(int)(y+5)/5;
}
int main(){
    double v;
    while(cin>>v){
        cout<<fl(v)<<endl;
    }
    return 0;
}

C++: #include <iostream>
#include <cmath>
using namespace std;

int main(void){
	
	while (true){
		double v,t,y;
		cin>>v;
		if (cin.eof()) break;
		t = v/9.8;
		y = v/2*t;
		int h = ceil(y/5)+1;
		cout<<h<<endl;
	}
	return 0;
}

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

const int INF = 1e+9 * 2;
double eps = 1e-10;

int main() {
	long double v;
	while(cin >> v){
		double y = 4.9 * pow(v / 9.8, 2.0);
		for(int i = 1; ; ++i){
			if(5 * i - 5 >= y){
				cout << i << endl;
				break;
			}
		}
	}
	return 0;
}