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++: /*AOJ 0024*/

#include<iostream>
using namespace std;

int f(double v){
	double t = v/9.8;

	double y = 4.9 * t * t;

	int ans = (y / 5);

	if(y == (int)y){
		return ans+1;
	}
	else{
		return ans+2;
	}
}


int main(){

	double v;

	while(cin>>v){
		cout<<f(v)<<endl;
	}

	return 0;
}

C++: #include<iostream>
#include<string>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main(void){
    double a;
	while(cin>>a){


	double v,t,y;
	t=a/9.8;
    y=4.9*t*t;
    for(int i=0;i<10000000;i++){
        if(y<=5*i-5){
            cout<<i<<endl;
            break;
        }
    }
	}
	return 0;
}

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

using namespace std;

const double eps = 1e-12;

int main() {
	double v;
	while (scanf("%lf", &v) != EOF) {
		double n = (v * v / 19.6 + 5) / 5.0;
		if (!(fabs(n - (int)n) < eps)) n += 1;
		printf ("%d\n", (int)n);
	}
	return 0;
}

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


using namespace std;

double solvet(int x){

    double t;

    t = sqrt(1.0*x/4.9);

    return t;

}

void funcv(double v_clash){
   int build=0;
   double v_theo = 0.0;
   double t=0.0;
   int count = 1;

  while(1){
      build = 5*count-5;

      t = solvet(build);
      

      v_theo = 9.8*t;
     // cout << build <<" "<< t << " "<<v_theo <<endl;

      if(v_clash < v_theo){
       cout << count << endl;
       break;
   }
   ++count;
   
  }
  



   
}


int main(){

 double v=0.0;


 while(cin >> v){

  funcv(v);   

 }



    return 0;



}

C++: #include<iostream>
#include<cmath>
using namespace std;
int main(){
	double v;
	while(cin>>v){
		int n=2;
		while(sqrt((5*n-5)/4.9)*9.8<v)++n;
		cout<<n<<endl;
	}
	return 0;
}

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

using namespace std;

int main()
{
    double v;

    while (scanf("%lf", &v) != EOF) {
        double ans = (v*v/98);
        if (ans - (int)ans < 0.0000000000001) {
            printf("%d\n", (int)ans + 1);
        } else {
            printf("%d\n", (int)ans + 2);
        }

    }

    return 0;
}

C++: #include <bits/stdc++.h>

using namespace std;

int main()
{
    double a;
    while (cin >> a) {
        double t = a / 9.8;
        printf("%d\n", (int)(4.9 * t * t) / 5 + 2);
    }
}

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;

	cout << ceil((v*v)/(10*g)+1) << endl;

	}

	return 0;
}

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

using namespace std;

int main() {
	double v;
	while (scanf("%lf", &v) != EOF) {
		printf ("%d\n", (int)((v * v / 19.6 + 5) / 5.0 + 0.5));
	}
	return 0;
}

C++: #include<iostream>
using namespace std;
main(){
	double in;
	while(cin>>in){
		double t,y;
		int n;
		t=in/9.8;
		y=4.9*t*t;
		for(int i=1;;++i){
			if(5*i-5>y){
				n=i;
				break;
			}
		}
		cout<<n<<endl;
	}	
}

C++: // 2014/06/09 Tazoe

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
	while(true){
		double v;
		cin >> v;

		if(cin.eof())
			break;

		int N = ceil((v*v+98.0)/98.0);

		cout << N << endl;
	}

	return 0;
}

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

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

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

C++: #include <cstdio>
#include <cstdlib>
#include <iostream>
#include <string>
#include <cmath>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>

using namespace std;

int main(){
    double in,ans;
    
    while(scanf("%lf",&in)!=EOF){
        ans=in*in/0.98+1;
        printf("%.0lf\n",ans);
    }
    
    return 0;
}

C++: #include <cstdio>
const double g = 9.8;
double pow (double d) {return d * d;}
double y (double d) {return 4.9 * pow(d);}

int main(int argc, char *argv[]) {
	float rcv;
	while (EOF != fscanf(stdin, "%f", &rcv)) {
		double tmp = rcv / g;
		//printf("%f\n", y(tmp));
		for (int i = 2;; i++) {
			if (y(tmp) < static_cast<double>(i * 5 - 5)) {
				printf("%d\n", i);
				break;
			}
		}
	}
	return 0;
}

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

int main()
{
	double value;
	
	while(cin >> value)
	{
		double min_t = value/9.8;
		double just = 4.9*min_t*min_t;
		int number = (just+10)/5.0;
		cout << number << endl;
	}
	return 0;
}

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

int main()
{
    double v;
    while (std::cin >> v) {
        double h = v * v / 19.6;
        std::cout << ceil((h + 5.0) / 5) << std::endl;
    }
}

C++: #include <iostream>
#include <vector>
#include <algorithm>

#define INPUT_FROM_FILE (0) 
#if INPUT_FROM_FILE
#include <fstream>
#endif

int main(int argc, char **argv){
	double v = 0;

#if INPUT_FROM_FILE
	//std::ifstream ifs("test.txt");
	FILE *fp = fopen("test.txt", "r");
#endif

#if INPUT_FROM_FILE
	while(fscanf(fp, "%lf", &v) != EOF){
#else
	while(scanf("%lf", &v) != EOF){
#endif
		double y = 4.9 * pow(v / 9.8, 2.0);
		int N = (int)std::ceil(y / 5.0 + 1.0);

		std::cout << N << std::endl;
	}
	
	return 0;
}

C++: #include<iostream>

using namespace std;

int main(){
	
	double v;
	while(cin>>v){
		double t=v/9.8;
		double y=4.9*t*t;
		y/=5.0;
		int ans=(y-(int)y==0.0)?y:(int)y+1;
		cout<<ans+1<<endl;
	}
}

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

using namespace std;
int main() {
  double v;
  
  while(cin>>v) {
    double t = v/9.8;
    double y = 4.9*t*t;
    cout << ceil((y+5)/5) << endl;
  }
  
  return 0;
}

C++: #include <iostream>
#include <sstream>
#include <iomanip>
#include <algorithm>
#include <cmath>
#include <string>
#include <vector>
#include <list>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <bitset>
#include <numeric>
#include <climits>
#include <cfloat>
using namespace std;

int main()
{
    for(;;){
        double v;
        if(!(cin >> v))
            return 0;

        double t = v / 9.8;
        double y = 4.9 * t * t;
        int ret = y / 5 + 2;
        cout << ret << endl;
    }
}

C++: #include <cstdio>
int main()
{
    double v,h;
    double i=1;
    while(~scanf("%lf",&v))
    {
        h=v*v/(9.8*2);
        while(1)
        {
            if((i-1)*5>=h)
            break;
            i+=1;
        }
        int j=(int)i;
        printf("%d\n",j);
    }
    return 0;
}

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

typedef long long int ll;
typedef pair<int, int> pii;
typedef vector<int> vi;
typedef vector<pair<int, int> > vii;
#define rrep(i, m, n) for(int (i)=(m); (i)<(n);  (i)++)
#define  rep(i, n)    for(int (i)=0; (i)<(n);  (i)++)
#define  rev(i, n)    for(int (i)=(n)-1; (i)>=0; (i)--)
#define vrep(i, c)    for(__typeof((c).begin())i=(c).begin(); i!=(c).end(); i++)
#define  ALL(v)       (v).begin(), (v).end()
#define mp            make_pair
#define pb            push_back
template<class T1, class T2> inline void minup(T1& m, T2 x){ if(m>x) m=static_cast<T2>(x); }
template<class T1, class T2> inline void maxup(T1& m, T2 x){ if(m<x) m=static_cast<T2>(x); }

#define INF 1000000000
#define MOD 1000000009
#define EPS 1E-9

double x;

int main()
{
  while(cin >> x) cout << ceil((x * x + 98) / 98.0) << endl;

  return 0;
}

C++: #include <stdio.h>
int main() {double h;while (scanf("%lf",&h)!=EOF) printf("%d\n",(int)(ceil((((h*h*4.9/9.8)/9.8+5.0)/5.0)+1e-9))); return 0;}