Go: package main

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

var scanner= bufio.NewScanner(os.Stdin)

func main() {
	result := make([][]int, 4)
	for i :=range result {
		result[i] = make([]int, 2)
	}
	for scanner.Scan() {
		buf := strings.Split(scanner.Text(), " ")
		l, _ := strconv.ParseFloat(buf[0], 64)
		r, _ := strconv.ParseFloat(buf[1], 64)
		if 1.1 <= l {
			result[0][0]++
		} else if 0.6 <= l && l < 1.1 {
			result[1][0]++
		} else if 0.2 <= l && l < 0.6 {
			result[2][0]++
		} else {
			result[3][0]++
		}
		if 1.1 <= r {
			result[0][1]++
		} else if 0.6 <= r && r < 1.1 {
			result[1][1]++
		} else if 0.2 <= r && r < 0.6 {
			result[2][1]++
		} else {
			result[3][1]++
		}
	}
	ans := make([][]string, 4)
	for i :=range ans {
		ans[i] = make([]string, 2)
	}
	for i := range result {
		for j := range result[i] {
			ans[i][j] = strconv.Itoa(result[i][j])
		}
	}
	for i := 0; i < 4; i++ {
		fmt.Println(strings.Join(ans[i], " "))
	}
}

C++: #include <iostream>

using namespace std;
/** Problem0149 : Eye Test **/
int main()
{
	int table[2][4] = {{0}};
	double l, r;
	
	while (cin >> l >> r) {
		if (l >= 1.1)
			table[0][0]++;
		else if (l >= 0.6)
			table[0][1]++;
		else if (l >= 0.2)
			table[0][2]++;
		else
			table[0][3]++;
		
		if (r >= 1.1)
			table[1][0]++;
		else if (r >= 0.6)
			table[1][1]++;
		else if (r >= 0.2)
			table[1][2]++;
		else
			table[1][3]++;
	}
	
	for (int i=0; i<4; i++)
		cout << table[0][i] << " " << table[1][i] << endl;
	
	return 0;
}

C++: #include <bits/stdc++.h>
#define R(i,n) for(int i=0;i<n;i++)
using namespace std;
int main(){
  double c,b;
  int a[4][2];
  while(cin>>c>>b){
    if(c>1.0)a[0][0]++;
    else if(c>0.5)a[0][1]++;
    else if(c>0.1)a[0][2]++;
    else a[0][3]++;
    if(b>1.0)a[1][0]++;
    else if(b>0.5)a[1][1]++;
    else if(b>0.1)a[1][2]++;
    else a[1][3]++;
  }
  R(i,4)cout<<a[i][0]<<' '<<a[i][1]<<endl;
}

C++: #include<iostream>
using namespace std;
int main() {
	double l,r;
	int la,lb,lc,ld,ra,rb,rc,rd;
	la = 0;
	lb = 0;
	lc = 0;
	ld = 0;
	ra = 0;
	rb = 0;
	rc = 0;
	rd = 0;
	while (cin >> l >> r) {
		if (l >= 1.1)la += 1;
		else if (l >= 0.6)lb += 1;
		else if (l >= 0.2)lc += 1;
		else ld += 1;
		if (r >= 1.1)ra += 1;
		else if (r >= 0.6)rb += 1;
		else if (r >= 0.2)rc += 1;
		else rd += 1;
	}
	cout << la << ' ' << ra << endl;
	cout << lb << ' ' << rb << endl;
	cout << lc << ' ' << rc << endl;
	cout << ld << ' ' << rd << endl;

}

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

main(){
	double p,q ;
	int cnt[4][2] = {} ;
	while( cin >> p ){
		if( cin.eof() ) break ;
		cin >> q ;
		
		if( p >= 1.1 ) cnt[0][0]++ ;
		else if( p >= 0.6 ) cnt[1][0]++ ;
		else if( p >= 0.2 ) cnt[2][0]++ ;
		else cnt[3][0]++ ;
		
		if( q >= 1.1 ) cnt[0][1]++ ;
		else if( q >= 0.6 ) cnt[1][1]++ ;
		else if( q >= 0.2 ) cnt[2][1]++ ;
		else cnt[3][0]++ ;
	}
	
	for( int i=0 ; i<4 ; i++ ){
		cout << cnt[i][0] << " " << cnt[i][1] << endl ;
	}
}

C++: #include <algorithm>
#include <cfloat>
#include <climits>
#include <cmath>
#include <complex>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <functional>
#include <iostream>
#include <map>
#include <memory>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <utility>
#include <vector>

using namespace std;

int person[2][4];

int main(){
	double n;
	int i=0;
	while(cin>>n){
		if(n>=1.1){
			person[i&1][0]++;
		}else if(n>=0.6){
			person[i&1][1]++;
		}else if(n>=0.2){
			person[i&1][2]++;
		}else{
			person[i&1][3]++;
		}
		++i;
	}
	
	for(int i=0;i<4;i++){
		printf("%d %d\n",person[0][i],person[1][i]);
	}
}

C++: #include<stdio.h>
int main(void)
{
	int i,A,A1,B,B1,C,C1,D,D1;
	float a,b;
	A=0;
	A1=0;
	B=0;
	B1=0;
	C=0;
	C1=0;
	D=0;
	D1=0;
	while(scanf("%f %f",&a,&b)!=EOF)	{ 
		if(1.1<a){
			A++;
		}
		else if(0.6<a && a<1.1){
			B++;
		}
		else if(0.2<a && a<0.6){
			C++;
		}
		else if(0.2>a){
			D++;
		}
		if(1.1<b){
			A1++;
		}
		else if(0.6<b && b<1.1){
			B1++;
		}
		else if(0.2<b && b<0.6){
			C1++;
		}
		else if(0.2>b){
			D1++;
		}
	}
	printf("%d %d\n",A,A1);
	printf("%d %d\n",B,B1);
	printf("%d %d\n",C,C1);
	printf("%d %d\n",D,D1);
	return 0;
}

C++: #include<iostream>
#include<cstdio>
#include <cstring>
#include<map>
#include<string>
#include<stack>
#include <algorithm>
#include <sstream>
#include<vector>
#include<map>
#include<cmath>
using namespace std;


int main(){
	float l,r;
	int ans_r[4]={0},ans_l[4]={0};
	while(cin>>l>>r)
	{
		
		if(1.1<=l) ans_l[0]++;
		else if(0.6<=l && l<1.1) ans_l[1]++;
		else if(0.2<=l && l<0.6) ans_l[2]++;
		else if(l < 0.2) ans_l[3]++;

		if(1.1<=r) ans_r[0]++;
		else if(0.6<=r && r<1.1) ans_r[1]++;
		else if(0.2<=r && r<0.6) ans_r[2]++;
		else if(r < 0.2) ans_r[3]++;
	}
	for(int i=0; i<4; i++)
	{
		cout<<ans_l[i]<<" "<<ans_r[i]<<endl;
	}
	return 0;
}

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

int l[4],r[4];

int main(void){
	double x,y;

	for(int i=0;i<4;i++){
		cin>>x>>y;
		if(x >= 1.1)
			l[0]++;
		else if(x >= 0.6)
			l[1]++;
		else if(x >= 0.2)
			l[2]++;
		else
			l[3]++;

		if(y >= 1.1)
			r[0]++;
		else if(y >= 0.6)
			r[1]++;
		else if(y >= 0.2)
			r[2]++;
		else
			r[3]++;
	}
	for(int i=0;i<4;i++){
		cout<<l[i]<<" "<<r[i]<<endl;
	}

	return 0;
}

C++: #include<stdio.h>
int main(void)
{
    float a,c;
	int b[8],i;
	while(scanf("%f %f",&a,&c)!=EOF){
		if(a>=1.1){
			b[0]=b[0]+1;
		}
		else if(a>=0.6){
			b[1]=b[1]+1;
		}
		else if(a>=0.2){
			b[2]=b[2]+1;
		}
		else if(c<0.2){
			b[3]=b[3]+1;
		}
		if(c>=1.1){
			b[4]=b[4]+1;
		}
		else if(c>=0.6){
			b[5]=b[5]+1;
		}
		else if(c>=0.2){
			b[6]=b[6]+1;
		}
		else if(c<0.2){
			b[7]=b[7]+1;
		}
	}
	for(i=0;i<4;i++){
	    printf("%d %d\n",b[i],b[i+4]);
	}
	return 0;
}

C++: #include <iostream>
#include <cstdio>
#include <cstdlib>
#include <queue>
#include <stack>
#include <vector>
#include <algorithm>
#include <string>
#include <cstring>
#include <cmath>
#include <complex>
#include <map>
#include <climits>
#include <sstream>
using namespace std;

#define reep(i,a,b) for(int i=(a);i<(b);++i)
#define rep(i,n) reep((i),0,(n))
#define ALL(v) (v).begin(),(v).end()
#define PB push_back
#define EPS 1e-8
#define F first
#define S second
#define mkp make_pair

static const double PI=6*asin(0.5);
typedef long long ll;
typedef complex<double> CP;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
typedef vector<int> vint;
static const int INF=1<<24;

template <class T>
void initvv(vector<vector<T> > &v,int a,int b, const T  &t = T()){
	v.assign(a,vector<T>(b,t));
}

//v.erase(unique(v.begin(),v.end()),v.end());


int main(){
	double a,b;
	vector<vint> vv;
	initvv(vv,4,2);
	rep(i,4){
		rep(j,2){
			vv[i][j]=0;
		}
	}
	vector<double> v(2);
	while(cin>>v[0]){
		cin>>v[1];
		rep(i,2){
			if(v[i]>=1.1){
				vv[0][i]++;
			}
			else if(v[i]>=0.6){
				vv[1][i]++;
			}
			else if(v[i]>=0.2){
				vv[2][i]++;
			}
			else{
				vv[3][i]++;
			}
		}

	}
	rep(i,4){
		rep(j,2){
			if(j){
				cout<<" ";
			}
			cout<<vv[i][j];
		}
		cout<<endl;
	}
}

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

#define FOR(i, a, b) for (int i = (a); i < (b); i++)
#define REP(i, n) for (int i = 0; i < (n); i++)

int s[8];
int main()
{

  REP(i, 4){
    double a, b;
    cin >> a >> b;
    if (a >= 1.1) s[0]++;
    else if (a >= 0.6) s[1]++;
    else if (a >= 0.2) s[2]++;
    else s[3]++;
    if (b >= 1.1) s[4]++;
    else if (b >= 0.6) s[5]++;
    else if (b >= 0.2) s[6]++;
    else s[7]++;
  }
  REP(i, 4) cout << s[i] << " " << s[i + 4] << endl;
}