Go: package main

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

var sc = bufio.NewScanner(os.Stdin)

// func read() string {
// 	sc.Scan()
// 	return sc.Text()
// }

func main() {
	sc.Split(bufio.ScanLines)
	for sc.Scan() {
		n := strings.Split(sc.Text(), ",")
		id, _ := strconv.Atoi(n[0])
		weight, _ := strconv.ParseFloat(n[1], 64)
		height, _ := strconv.ParseFloat(n[2], 64)
		bmi := weight / (height * height)
		if bmi >= 25.0 {
			fmt.Println(id)
		}
	}
}

C++: #include<cstdio>
int main(){
    int n;
    double g,m;
    while(scanf("%d,%lf,%lf\n",&n,&g,&m)!=-1){
        if(g/(m*m)>=25)printf("%d\n",n);
    }
}

C++: #include<stdio.h>
int main(){float i,w,h;while(scanf("%f,%f,%f",&i,&w,&h)>0)if(w/h/h>=25)printf("%.0f\n",i);return 0;}

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

int main()
{
	int id;
	double w, h;
	while (scanf("%d,%lf,%lf",&id,&w,&h),id) {
		double bmi = w / (h*h);
		if (bmi >= 25.0) {
			cout << id << endl;
		}
	}
    return 0;
}

C++: #define _USE_MATH_DEFINES
#include <iostream>
#include <sstream>
#include <cmath>
#include <algorithm>
#include <queue>
#include <stack>
#include <limits>
#include <map>
#include <string>
#include <cstring>
#include <set>
#include <deque>

using namespace std;

typedef long long ll;
typedef pair<int,int> P;

int main(){
	int a;
	double b,c;
	while(~scanf("%d,%lf,%lf",&a,&b,&c)){
		if(b/(c*c) >= 25){
			cout << a << endl;
		}
	}
}

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

int main(){
	int s;
	double w,h;
	while( scanf("%d,%lf,%lf", &s, &w, &h) != EOF ){
		if(w/h/h>=25) printf("%d\n", s);
	}
	return 0;
}

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

using namespace std;

int main() {

	double taiju;
	double sincho;
	int bango;
	char d;
	double BMI;

	while (cin >> bango >> d >> taiju >> d >> sincho) {
		BMI = taiju / (sincho * sincho);
		if (BMI >= 25) {
			cout << bango << endl;
		}
	}

	return 0;
}

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

#define SAFE_DELETE( x ) { if ( x ){ delete x; x = NULL; } }

struct tCell{
	tCell() : x( 0 ), prev( NULL ), next( NULL ){}
	int x;
	tCell *prev, *next;
};

class MyArray{
public:
	MyArray() : mSize( 0 ), head( NULL ), tail( NULL ){
		head = new tCell;
		tail = new tCell;
		head->next = tail;
		tail->prev = head;
	}
	~MyArray(){
		for ( int i = mSize; i > 0; --i ){
			tCell* it = tail->prev;
			it->prev->next = it->next;
			it->next->prev = it->prev;
			SAFE_DELETE( it );
		}
		mSize = 0;
		SAFE_DELETE( tail );
		SAFE_DELETE( head );
	}
	void pushBack( int x ){
		tCell* it = new tCell;
		it->x = x;
		it->prev = tail->prev;
		it->next = tail;
		it->prev->next = it;
		it->next->prev = it;
		++mSize;
	}
	int size(){ return mSize; }

	int operator[]( int index ){
		tCell* it = head->next;
		for ( int i = 0; i < index; ++i ){
			it = it->next;
		}
		return it->x;
	}

private:
	int mSize;
	tCell *head, *tail;
};

int main(){
	int number;
	double weight, height;
	char c;
	MyArray list;

	while ( cin >> number >> c >> weight >> c >> height ){
		if ( ( weight / ( height * height ) ) >= 25.0 ){
			list.pushBack( number );
		}
	}

	for ( int i = 0; i < list.size(); ++i ){
		cout << list[ i ] << endl;
	}
	if ( !list.size() ){
		cout << "ツ該ツ督鳴づ按つオ" << endl;
	}

	return 0;
}

C++: #include <iostream>
#include <algorithm>
using namespace std;
int main(){
	int s;
	double w,h;
	while(cin>>s>>w>>h){
		if(w/h/h>=25)cout<<w<<<endl;
		}
    return 0;
    }

C++: #include <cstdio>
using namespace std;
int main(void)
{
    int num;
    double w,h;
    while(~scanf("%d,%lf,%lf",&num,&w,&h)) {
        double bmi = w / h / h;
        if(bmi > 25.0)
            printf("%d\n",num);
    }
    return 0;
}

C++: #include<cstdio>
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main(){
    int num,flag=0;
    double tall,weight;
    while(scanf("%d,%lf,%lf",&num,&weight,&tall)!=EOF){
        if(weight/(tall*tall)>=25){cout<<num<<endl;flag=1;}
    }
    if(flag==0)cout<<"該当なし"<<endl;
    return 0;
}

C++: #include<iostream>
using namespace std;
int man(){
  int np;
  double w,h;
  while(cin>>np>>w>>h) if(w/(h*h)>=25) cout << np << endl;
  return 0;
}

C++: #include "bits/stdc++.h"

#define REP(i,num) for(int i=0;i<(num);++i)
#define ALL(c) c.begin(),c.end()
#define PRINTALL(c) for(auto& x:c){cout<<x<<' ';}cout<<endl;
#define PAIRCOMP(c,comp) [](const pair<ll,ll>& lhs,const pair<ll,ll>& rhs){return lhs.c comp rhs.c;}

using namespace std;
using ll = long long;

constexpr ll atcoder_mod = 1e9+7;

template<typename T=int>
T in(){T x; cin >> x; return (x);}
template<typename T=int,typename C=vector<T>>
C vecin(int N){C x(N);REP(i,N){x[i]=in<T>();}return move(x);}

void vout(){cout << endl;}
template<typename Head,typename... Tail>
void vout(Head&& h,Tail&&... t){cout << ' ' << h;vout(forward<Tail>(t)...);}
void out(){cout << endl;}
template<typename Head,typename... Tail>
void out(Head&& h,Tail&&... t){cout << h;vout(forward<Tail>(t)...);}

vector<string> split_naive(const string &s, char delim) {
	vector<string> elems;
	string item;
	for(char ch:s){
		if(ch==delim){
			if(!item.empty()) elems.push_back(item);
			item.clear();
		}
		else{
			item += ch;
		}
	}
	if(!item.empty()) elems.push_back(item);
	return elems;
}

int main(){
	cin.tie(0);
	ios::sync_with_stdio(false);

	string S;
	while(cin>>S){
		auto SS = split_naive(S,',');
		int index;
		double h,w;
		sscanf(SS[0].c_str(),"%d",&index);
		sscanf(SS[1].c_str(),"%lf",&w);
		sscanf(SS[2].c_str(),"%lf",&h);
		if(w/h/h>=25){
			out(index);
		}
	}
	return 0;
}

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

int num;
double w, h, BMI;
char cnm;

double BMIk(double w, double h){
	double ans = w / pow(h, 2);
	return ans;
}

int main(){
	while(cin >> num >> cnm >> w >> cnm >> h){
		BMI = BMIk(w, h);
		if(BMI >= 25){
			cout << num << endl;
		}
	}
	return 0;
}

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

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

int BMI(double weight, double height) {
	return weight / pow(height, 2);
}

int main() {
	double weight, height; string str, buf;
	vector<string> vec;
	while (cin >> str) {
		vec.resize(0);
		stringstream ss{ str };
		while (getline(ss, buf, ',')) 
			if(!str.empty()) vec.push_back(buf);
		weight = stod(vec[1]);
		height = stod(vec[2]);
		if (BMI(weight, height) >= 25) cout << vec[0] << endl;
		rep(i, 3) vec.pop_back();
	}
	return 0;
}

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

int main()
{
	int n;
	double w, t;
	while( scanf( "%d,%lf,%lf", &n, &w, &t ) != EOF ){
		if( w / ( t * t ) >= 25.0 ){
			std::cout << n << std::endl;
		}
	}

 	return 0;
}

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

struct mdata {
    int student;
    double weight;
    double height;
    double bmi;
};

mdata bmi(mdata buff)
{
    buff.bmi = buff.weight / (buff.height * buff.height);
    return buff;
}

int main()
{
    vector<mdata> data;
    vector<mdata>::iterator it;
    mdata buff;
    char ch;
    while(cin >> buff.student >> ch >> buff.weight >> ch >> buff.height)
        data.push_back(buff);
    transform(data.begin(),data.end(),data.begin(),bmi);
    for(it = data.begin(); it != data.end(); it++)
        if((*it).bmi >= 25) cout << (*it).student << endl;

    return EXIT_SUCCESS;
}

C++: #include <iostream>

using namespace std;

int main(int argc, char const* argv[])
{
	double m,h,number;
	char comma;

	while( cin >> number >> comma >> m >> comma >> h ){
		if( m / ( h * h ) >= 25 ) cout << number << endl;
	}
	return 0;
}