Go: package main

import (
	"bufio"
	"os"
	"strconv"
	"fmt"
)

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	for scanner.Scan() {
		a, _ := strconv.ParseFloat(scanner.Text(), 64)
			t := a/9.8
			x := t*t*4.9
			fmt.Printf("%d\n", int(x))
	}
}

C++: #include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <utility>
#include <stack>
#include <functional>
#include <queue>
#include <cmath>

#define rep(i,j,k) for(int i=j;i<k;i++)
#define drep(n,m) for(int i=0;i<n;i++)for(int j=0;j<m;j++)
#define fi first
#define se second
#define vi vector<int>
#define INF 1000000000
#define MOD 1000000009
#define pb push_back
#define mp make_pair
typedef long long ll;
int dx[4]={0,1,0,-1},dy[4]={1,0,-1,0};

using namespace std;

ll gcd(ll a,ll b){
    if(a<b){
        int t=a;a=b;b=t;
    }
    int c=a%b;
    while(c!=0){
        a=b;
        b=c;
        c=a%b;
    }
    return b;
}

ll lcm(ll a,ll b){
    return a*b/gcd(a,b);
}

bool isPrime(int x){
    if(x==1)return false;
    if(x==2)return true;
    if(x%2==0)return false;
    for(int i=3;i<=sqrt(x);i+=2){
        if(x%i==0)return false;
    }
    return true;
}

int main() {
    double v;
    while(cin>>v){
        double t;
        t=v/9.8;
        double y=t*t*4.9;
        y+=5.0;
        cout<<(int)y/5+1<<endl;
    }
    
  
    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;
    int ans;
    
    while(scanf("%lf",&in)!=EOF){
        ans=ceil(in*in/98);
        printf("%d\n",ans+1);
    }
    
    return 0;
}

C++: #include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int main(){
    double t,v,y,ans,c;
    while(cin>>v){
        t=v/9.8;
        y=t*t*4.9;
        for(int i=0;;i++){
            c=5*i-5;
            if(y<c){
                t=i;
                break;
        }
        }
        cout<<t<<endl;
    }
return 0;
}

C++: #include <iostream>
#include <sstream>
#include <string>
#include <vector>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <algorithm>
#include <complex>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cctype>
#include <cmath>
#include <cassert>

using namespace std;


#define all(c) ((c).begin()), ((c).end())
#define debug(c) cerr << "> " << #c << " = " << (c) << endl;
#define iter(c) __typeof((c).begin())
#define present(c, e) ((c).find((e)) != (c).end())
#define cpresent(c, e) (find(all(c), (e)) != (c).end())
#define tr(i, c) for (iter(c) i = (c).begin(); i != (c).end(); i++)
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define REP(i, a, b) for (int i = (int)(a); i <= (int)(b); i++)

#define mp make_pair
#define fst first
#define snd second
#define pb push_back


const double EPS = 1e-10;


typedef long long ll;
typedef vector<int> vi;
typedef pair<int, int> pii;
typedef complex<double> P;


int main(){
	for (double vb; cin >> vb; ){
		for (int i = 1; ; i++) {
			double v = sqrt(2 * (i - 1) * 5 * 9.8);
			if ( v >= vb) {
				cout << i << endl;
				break;
			}
		}
	}
	
	return 0;
}

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)+1;

		cout << N << endl;
	}

	return 0;
}

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

int main() {
	
	float v,y;
	int N;
	
	while(cin>>v){
		y = v*v/19.6;
		N = ceil(y/5) + 1;
		cout << N << endl;
	}
	return 0;
}

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

int main(void)
{
  int i=0;
  long double v,floar;

  while(scanf("%Lf", &v) != EOF && i<50){
    floar = (v*v/98)+1;  
    if(floar - (int)floar > LDBL_EPSILON){
      floar++;
    }
    printf("%d\n", (int)floar);
    i++;  
  }
  return 0;
}

C++: #include <iostream>

using namespace std;

double funcT(double v){
	return v / 9.8;
}

double funcY(double t){
	return 4.9 * t * t;
}

const int oneFloor = 5;

int main(){
    int minFloor;
	for(double minSpeed; cin >>minSpeed; cout << minFloor << endl){ 
		double minY = funcY(funcT(minSpeed));

		minFloor = 1 + (int)minY / oneFloor + ((minY/(double)oneFloor == (int)minY / oneFloor) ? 0 : 1);
	}

	return 0;
}

C++: #include <iostream>
#include <algorithm>
#include <vector>
#include <cstdio>
#include <string>
#include <set>
#include <map>
#include <queue>
#include <stack>
#include <cmath>
#include <functional>
#include <numeric>
#define fi first
#define se second
using namespace std;
bool value(int y,int x,int R,int C){return 0<=y&&y<R&&0<=x&&x<C;}
typedef pair<int,int> pii;
typedef long long ll;
typedef vector<int> vi;
typedef vector<long long > vll;
typedef vector< vi > vvi;
double pie=acos(-1);
int INF=10000009;
int dx[4] = { 0,-1,0,1 };
int dy[4] = { -1,0,1,0 };
int main() {
	double x;
	double n=1.0;
	int N;
	while(true){
		cin>>x;
		if (cin.eof())break;
		while(true){
			double t;
			t=5.0*(n-1);
			t/=4.9;
			t=pow(t,0.5);
			if(9.8*t>=x) break;
			n+=1.0;
		}
		N=n;
		cout<<N<<endl;
		n=1.0;
	}
}

C++: #define _USE_MATH_DEFINES
 
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>
#include <vector>
#include <cmath>

using namespace std;

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

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

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

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

C++: #include<stdio.h>
int main(){
	double v=0.0,t=0.0,y=0.0;
	
	while(scanf("%lf",&v)!=EOF){
	t=v/9.8;
	y=4.9*t*t;
	printf("%.0f\n",(y/5+1)+0.5);
	}
return 0;
}

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

double v[100000];
int main(){
    for(int i=1;i<100000;i++)v[i]=sqrt((5*i-5)/4.9)*9.8;

    double r;
    while(cin>>r)cout<<lower_bound(v,v+100000,r)-v<<endl;

    return 0;
}

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

using namespace std;

int main(void){
	double v;
	double t, h;

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

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

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

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

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=(5*h-5)/4.9*9.8*9.8;

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

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

	}

	return 0;
}

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

int main()
{
	double v;
	
	while( std::cin >> v ){
		int n = 1;
		while( sqrt( ( n * 5 - 5 ) / 4.9 ) * 9.8 < v )n++;
		std::cout << n << std::endl;
	}

 	return 0;
}

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

C++:         while com != 'submit' or com != 'next' or com != 'done' :
            com = input()

C++: #include<iostream>

using namespace std;

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

	while (1){
		cin >> v;
		y = (v*v) / 19.6;
		n = y / 5 + 2;
		cout << n;
	}

	return 0;

}