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 <fstream>
#include <iostream>
#include <cmath>
#include <vector>
#include <queue>
#include <utility>
#include <algorithm>
using namespace std;

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

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

int main() {
	double d = 0.0;
	int ans;
	double n;

	while (cin >> d) {
		n = (4.9*pow((d / 9.8), 2) + 5) / 5;
		ans = ceil(n);
		cout << ans << endl;
	}

	return 0;
}

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

using namespace std;

int main()
{
	double v;
	while(cin >> v)
		cout << ceil( ( (v * v * 4.9 / (9.8 * 9.8)) + 5 ) / 5 ) << endl;

	return 0;
}

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

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


return 0;
}

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

int main(){
	double a;
	
	while(scanf("%lf",&a) != EOF){
		a = (a*a+98)/98;
		a = ceil(a);
		printf("%.0f\n",a);
	}
	
	return 0;
}

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

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

C++: #include<cstdio>

int main(){
	double v;
	int n;
	while(scanf("%lf", &v) + 1){
		n = 1;
		while(n)
		{
			n++;
			if(v * v <= 2 * 9.8 * (5 * n - 5)){
				printf("%d\n", n);
				n = 0;
			}
		}
	}
	return 0;
}

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

int main()
{
	double v;
	int floor;
	while(cin >> v){
		floor = static_cast<int>(v*v/98)+1;
		if(static_cast<double>(static_cast<int>(v*v/98)) != v*v/98)
			floor++;
		cout << floor << endl;
	}
	return 0;
}

C++: #include <iostream>
#include <iomanip>
#include <vector>
#include <string>
#include <stack>
#include <queue>
#include <deque>
#include <set>
#include <map>
#include <algorithm>
#include <sstream>
#include <cstdlib>
#include <cstring>
#include <functional>
#include <numeric>
#include <cmath>
#include <climits>
#include <limits>
#include <cfloat>
#include <fstream>
using namespace std;

int main()
{
//	cut here before submit 
//	freopen("testcase.dat", "r", stdin);
	string str = "";

	while (getline (cin, str ) ){
		int res = 0;
		double vb;		
		stringstream ss(str);
		ss >> vb;
		int n;

		for (n = 1;; ++n){
			int h = 5*n - 5;
			double tt = (double)h/4.9;
			double t = sqrt(tt);
			double v = 9.8*t;
//			cout << "v: " << v << endl;
			if (v < vb){
				continue;
			}else{
				res = n;
				break;
			} // end if
		} // end for

		cout << res << endl;
	} // end for

	return 0;
}

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

double v;
int i,j;
double t,d;
int main(){
	while(scanf("%lf",&v)!=EOF){
		t=v/9.8;
		d=4.9*t*t;
		double f=ceil((d+5)/5);
		printf("%d\n",(int)f);
	}
}

C++: #include <cstdio>

using namespace std;

bool testcase_ends() {
    double v;
    if (scanf("%lf", &v) == EOF) return 1;

    int N=v*v*4.9/5/9.8/9.8+1+0.9999;
    printf("%d\n", N);
    return 0;
}

int main() {
    int solved=0;
    while (!testcase_ends())
        ++solved;

    return !solved;
}

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

int main(){
  double min;
  double t,y;
  int i;

  while( cin>>min ){

    t = min/9.8;
    y = 4.9*t*t;

    i = ceil( (y+5.0)/5.0 ) ;
    cout << i << endl;
  }

  return 0;
}

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

using namespace std;

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

C++: #include <iostream>
#include <iomanip>
#include <cassert>
#include <algorithm>
#include <functional>
#include <vector>
#include <string>
#include <cstring>
#include <stack>
#include <queue>
#include <map>
#include <bitset>
#include <sstream>
#include <istream>
#include <cmath>
#include <cstdio>

using namespace std;

#define vci vector<int>
#define vcs vector<string>
#define pb push_back
#define sz size()
#define mapci map<char, int>
#define mapsi map<string, int>
#define all(x) x.begin(), x.end()

#define for_(i, a, b) for (int i=(int)a; i<(int)b; i++)
#define for_d(i, a, b) for (int i=(int)a-1; i>=b; i--)
#define for_r(i, a, b, c) for (int i=(int)a; i<(int)b; i += c)
#define for_dr(i, a, b, c) for (int i=(int)a-1; i>=b; i -= c)
#define FOR(i,c) for(__typeof((c).begin())i=(c).begin();i!=(c).end();++i)

#define vcitr vector<int>::iterator
#define vcsitr vector<string>::iterator
#define mapcitr map<char, int>::iterator
#define mapsitr map<string, int>::iterator

typedef long long ll;

const int iINF = 2147483647;
const ll lINF = 9223372036854775807;

template <class T> inline void dbg(T t) { cout << t << endl; }

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

C++: #include<iostream>
#include <fstream>
#include <stdio.h>
#include <stdlib.h>
#define _USE_MATH_DEFINES
#include <math.h>
#include<string>
#include<vector>
#include<cmath>
#include<stack>
#include<queue>
#include<sstream>
#include<algorithm>
#include<map>
#include<complex>
using namespace std;


#define li			long long int
#define rep(i,to)	for(int i=0;i<((int)(to));i++)
#define repp(i,start,to)	for(int i=(int)(start);i<((int)(to));i++)
#define pb			push_back
#define sz(v)		((li)(v).size())
#define bgn(v)		((v).begin())
#define eend(v)		((v).end())
#define allof(v)	(v).begin(), (v).end()
#define dodp(v,n)		memset(v,(li)n,sizeof(v))
#define bit(n)		(1ll<<(li)(n))
#define mp(a,b)		make_pair(a,b)
#define rin	rep(i,n)
#define EPS 1e-10
#define ETOL 1e-8
#define MOD 1000000007
#define F first
#define S second
#define p2(a,b)		cout<<a<<"\t"<<b<<endl
#define p3(a,b,c)		cout<<a<<"\t"<<b<<"\t"<<c<<endl

double v;

void solve(){
	double h=v*v/9.8/2.0;
	//cout<<h<<endl;
	
	li res=h/5;
	if(h-res*5>0)res++;
	cout<<res+1<<endl;
}

int main(){
	while(cin>>v)solve();
	
	return 0;
}

C++: #include<cstdio>
int main(){
    double s;
    while(~scanf("%lf",&s)){
        double y=(4.9*(s/9.8)*(s/9.8))+5;
        if((int)y%5==0) printf("%d\n",(int)y/5);
        else printf("%d\n",(int)y/5+1);
    }
}

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

auto main () -> int
{
    double v;
    while (std::cin >> v)
    {
        auto t = v / 9.8;
        auto y = 4.9 * t * t;
        auto n = (y + 5) / 5;
        auto ans = std::ceil (n);
        std::cout << ans << std::endl;
    }
}

C++: #include "bits/stdc++.h"
using namespace std;
int main() {
	double v;
	while (cin >> v, v) {
		int N = 0;
		double V = 0;
		do{
			N++;
			double h = 5 * N - 5;
			V = 9.8*pow(h / 4.9, 0.5);
		} while (V < v);
		cout << N << endl;
	}
}

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

int main(){
  double v;
  int N;

  while(cin >> v){
    N = v*v/98+2;    
    cout << N << endl;
  }

  return 0;
}

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

int main(void){
    const double g=9.8;
    double v;
    while(std::cin>>v){
        int n=1;
        if(v*v<=2*g*5*(n-1)) std::cout<<n<<std::endl;
        n++;
    }
    return 0;
}

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

using db = double;
const db eps = 1e-9;

int main() {
	ios :: sync_with_stdio(false);
	db maxv;
	while(cin >> maxv) {
		for(int i = 1; ; i ++) {
			db y = 5 * i - 5;
			db v = sqrt(y * 2 * 9.8);
			if(v + eps > maxv) {
				cout << i << '\n';
				break;
			}
		}
	}
	return 0;
}