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<stdio.h>
int main(void)
{
	double h,m;
	int cMA,cHA;
	int cMB,cHB;
	int cMC,cHC;
	int cMD,cHD;
	cMA=0;
	cHA=0;
	cMB=0;
	cHB=0;
	cMC=0;
	cHC=0;
	cMD=0;
	cHD=0;
		while(scanf("%lf %lf",&h,&m)!=EOF){
			if(h>=1.1){
				cHA++;
			}
			else if(0.6<=h){
				cHB++;
			}
			else if(0.2<=h){
				cHC++;
			}
			else{
				cHD++;
			}
			if(m>=1.1){
				cMA++;
			}
			else if(0.6<=m){
				cMB++;
			}
			else if(0.2<=m){
				cMC++;
			}
			else if(0.2<m){
				cMD++;
			}
		}
	printf("%d %d\n%d %d\n%d %d\n%d %d\n",cHA,cMA,cHB,cMB,cHC,cMC,cHD,cMD);
	return 0;
}

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

using namespace std;

int main(){
    double l,r;
    vector<pair<int,int>> ans(4,make_pair(0,0));
    while(true){
        cin>>l>>r;
        if(cin.fail())break;
        if(l>=1.1)ans[0].first++;
        else if(l>=0.6)ans[1].first++;
        else if(l>=0.2)ans[2].first++;
        else ans[3].first++;

        if(r>=1.1)ans[0].second++;
        else if(r>=0.6)ans[1].second++;
        else if(r>=0.2)ans[2].second++;
        else ans[3].second++;
    }
    for(auto i:ans)cout<<i.first<<" "<<i.second<<endl;
    return 0;
}

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

int main(){
  double left,light;
  int ans_left[4]={0},ans_light[4]={0};
  while(cin >> left){
    cin >> light;
    if(left >= 1.1) ans_left[0]++;
    else if(left >= 0.6) ans_left[1]++;
    else if(left >= 0.2) ans_left[2]++;
    else ans_left[3]++;
    if(light >= 1.1) ans_light[0]++;
    else if(light >= 0.6) ans_light[1]++;
    else if(light >= 0.2) ans_light[2]++;
    else ans_light[3]++;
  }
  for(int i=0;i<4;i++){
    cout << ans_left[i] << " " << ans_light[i] << endl;
  }
}

C++: #include <iostream>

using namespace std;

int main(){

	double ar = 0,al = 0;
	double br = 0,bl = 0;
	double cr = 0,cl = 0;
	double dr = 0,dl = 0;

	double stur,stul;

	for(int i = 1; i <= 40; i++){
		cin >> stul >> stur;

		if(stul == 0) break;

		if(stul >= 1.1){
			al++;
		}else if(stul < 1.1 && 0.6 <= stul){
			bl++;
		}else if(stul < 0.6 && 0.2 <= stul){
			cl++;
		}else if(stul < 0.2){
			dl++;
		}

		if(stur >= 1.1){
			ar++;
		}else if(stur < 1.1 && 0.6 <= stur){
			br++;
		}else if(stur < 0.6 && 0.2 <= stur){
			cr++;
		}else if(stur < 0.2){
			dr++;
		}
	}

	cout << al << " " << ar << endl;
	cout << bl << " " << br << endl;
	cout << cl << " " << cr << endl;
	cout << dl << " " << dr << endl;

	return 0;
}

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

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

#define loop(v, f, l) for(int v = (f), v##_ = (l); v < v##_; ++v)

using namespace std;

typedef long long int lint;
static inline int in(){ int x; scanf("%d", &x); return (x); }
static inline lint inl(){ lint x; scanf("%lld", &x); return (x); }

int getRank(float value)
{
	if( value >= 1.1 ) return 0;
	else if( value >= 0.6 ) return 1;
	else if( value >= 0.2 ) return 2;
	else return 3;
}

int main()
{
	int leftRank[4];
	int rightRank[4];
	float left, right;
	while( scanf("%f%f", &left, &right) != EOF )
	{
		leftRank[getRank(left)]++;
		rightRank[getRank(right)]++;
	}
	for(int i = 0; i < 4; i++)
	{
		printf("%d %d\n", leftRank[i], rightRank[i]);
	}
	return (0);
}

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

C++: #include <iostream>
using namespace std;
int main(void)
{
	double date[41][2];
	int num=0;
	while(cin >> date[num][0] >> date[num][1]){
		num++;
	}
	double judge[5] = {0,0.2,0.6,1.1,100};
	int out[4][2] = {0};
	for(int i=0;i<num;i++){
		for(int j=0;j<2;j++){
			for(int k=0;k<4;k++){
				if(judge[k] <= date[i][j] && date[i][j] < judge[k+1]){
					out[k][j]++;
					break;
				}
			}
		}
	}
		for(int i=3; i>=0; i--){
			cout << out[i][0] << " " << out[i][1] << endl;
		}
	return 0;
}

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

// A:0
// B:1
// C:2
// D:3
int rank(double eyeSight){
	if( 1.1 <= eyeSight ){
		return 0;
	}else if(0.6 <= eyeSight){
		return 1;
	}else if(0.2 <= eyeSight){
		return 2;
	}else{
		return 3;
	}
}

main(){
	int lCount[4]={0,0,0,0};
	int rCount[4]={0,0,0,0};

	double l, r;
	while(cin>>l>>r){
		lCount[rank(l)]++;
		rCount[rank(r)]++;
	}
	
	for(int i=0; i<4; ++i){
		printf("%d %d\n",lCount[i],rCount[i]);
	}
}

C++: #include<iostream>


using namespace std;


int main(){
	double left,right;
	int Lnin[4]={}, Rnin[4]={};
	int i;

	while(cin >> left >> right){
		if(left>=1.1){
			Lnin[0]++;
		}else if(left>=0.6){
			Lnin[1]++;
		}else if(left>=0.2){
			Lnin[2]++;
		}else{
			Lnin[3]++;
		}

		if(right>=1.1){
			Rnin[0]++;
		}else if(right>=0.6){
			Rnin[1]++;
		}else if(right>=0.2){
			Rnin[2]++;
		}else{
			Rnin[3]++;
		}
	}

	for(i=0;i<=3;i++){
		cout << Lnin[i] << " " << Rnin[i] << endl;
	}
	



}

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

using namespace std;

int main()
{
  vector<double> left_eye;
  vector<double> right_eye;

  int result1[4] = {0};
  int result2[4] = {0};

  for(int i = 0;i < 4;++i){
    double a,b;
    cin>>a;
    cin>>b;
    left_eye.push_back(a);
    right_eye.push_back(b);
  }

  for(double e : left_eye){
    if(e >= 1.1){
      result1[0] += 1;
    }
    else if(e >= 0.6 && e < 1.1){
      result1[1] += 1;
    }
    if(e >= 0.2 && e < 0.6){
      result1[2] += 1;
    }
    if(e < 0.2){
      result1[3] += 1;
    }
  }

  for(double e : right_eye){
    if(e >= 1.1){
      result2[0] += 1;
    }
    else if(e >= 0.6 && e < 1.1){
      result2[1] += 1;
    }
    if(e >= 0.2 && e < 0.6){
      result2[2] += 1;
    }
    if(e < 0.2){
      result2[3] += 1;
    }
  }

  for(int i = 0;i < 4;++i){
    cout<<result1[i]<<" "<<result2[i]<<endl;
  }

  return 0;
}

C++: #include<bits/stdc++.h>
using namespace std;
main(){
  double l,r;
  double eye[4]={1.1,0.6,0.2,0.0};
  int ans[8]={0};
  while(cin>>l>>r){
    for(int i=0;i<4;i++){
      if(l>=eye[i]){
	ans[i]++;
	break;
      }
    }
    for(int i=0;i<4;i++){
      if(r>=eye[i]){
	ans[i+4]++;
	break;
      }
    }
  }
  for(int i=0;i<4;i++){
    cout<<ans[i]<<" "<<ans[i+4]<<endl;  
  }
}