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 <iostream>
using namespace std;

int main()
{
  double v, t, y;
  int n;
  while (cin >> v){
    t = v / 9.8;
    y = 4.9 * t * t;
    for (n = 1; y > 5 * (n - 1); n++){
    }
    cout << n << endl;
  }
  return 0;
}

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

int main() {
    int v;
    while (cin >> v) {
        int N = 0;
        for ( ; ; ++N) {
            int y = 5 * N - 5;
            if (v * v * 10 <= 196 * y) break;
        }
        cout << N << 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;

		while(l+1!=r){

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

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

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

	}

	return 0;
}

C++: #include<iostream>
using namespace std;
int main()
{
long double v,n;
int N;
while(cin>>v)
{
n=(4.9*(v/9.8)*(v/9.8))/5+1;
N=n*10000;	
if(N%10000==0)
{
	cout<<N/10000<<endl;
}
else if(N%10000!=0)
{
	cout<<N/10000+1<<endl;
}
}
return 0;
}

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

double v;//球が割れる最低速度

int main()
{
	while(scanf("%lf",&v)!=EOF)
	{
		double date = v*v/19.6;
		int N=ceil(date/5)+1;
		printf("%d\n",N);
	}
}

C++: #include <iostream>

using namespace std;

int main(int argc, char const* argv[])
{
	double t,v,y;
	double h;
	int N;

	while( cin >> v ){
		t = v / 9.8;
		y = 4.9 * t * t;
		N = ( y + 5 ) / 5;
		N++;
		cout << N << endl;
	}
}

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;
		n = n / 10 * 10;
		n /= 5;
		printf("%lf %lf %d\n",t,y, n+2);
	}
	return(0);
}

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

int main(){
	double v;
	double h, t, y;
	int N;
	
	while((scanf("%lf", &v)) != EOF){
		t = v / 9.8;
		y = 4.9 * pow(t, 2);
		
		N = y / 5 + 1;
		if((double)5 * N - 5 < y) N++;
		
		printf("%d\n", N);
	}
	
	return 0;
}

C++: /*****include*****/
#include <iostream>
#include <fstream>
#include <string>

/*****デバッグ定義*****/
//#define DEBUG
/*****マクロ定義*****/

/*****名前空間*****/
using namespace std;

/*****グローバル変数置き場*****/

/*****その他関数置き場*****/

/*****main関数*****/
int main(){
	/*****ファイルオープン*****/
#ifdef DEBUG
	ofstream fout("output.txt");
	ifstream fin("input.txt");
	if(!fout || !fin){
		cout << "Can't open the file.\n";
		return;
	}
#endif
	/*****変数置き場*****/
	double b_v;
	double v_sq;
	long int n;
	/*****処理部*****/
	while(1){
		cin >> b_v;
		if(b_v == 0)	break;
		n=0;
		v_sq = 0;
		while(v_sq < b_v*b_v){
			n++;
			v_sq = 19.6 * (5*(double)n - 5);
		}
		cout << n << endl;
	}
	/*****処理終了後*****/
#ifdef DEBUG
	fout.close();
	fin.close();
#endif
	return 0;
}