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<bits/stdc++.h>

using namespace std;

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

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

  double a,b;

  while(cin>>a>>b){
    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<iostream>

using namespace std;

int main(){
	 
	double left, right;
	
	while( cin >> left >> right ) {
		
	int A[2] = {};
	int B[2] = {};
	int C[2] = {};
	int D[2] = {};
	
	if( left >= 1.1) A[0] ++;
	if( 0.6 <= left && left < 1.1) B[0] ++;
	if( 0.2 <= left && left < 0.6) C[0] ++;
	if( left < 0.2) D[0] ++;
	
	if( right >= 1.1) A[1] ++;
	if( 0.6 <= right && right < 1.1) B[1] ++;
	if( 0.2 <= right && right < 0.6) C[1] ++;
	if( right < 0.2) D[1] ++;
	
	
}
	cout << A[0] << " " << A[1] << "\n";
	cout << B[0] << " " << B[1] << "\n";
	cout << C[0] << " " << C[1] << "\n";
	cout << D[0] << " " << D[1] << "\n";
  	return 0;
}

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

C++: #include <stdio.h>
 
int main()
{
    double left, right;
    int la, ra, lb, rb, lc, rc, ld, rd;
     
    la = ra = lb = rb = lc = rc = ld = rd = 0;
    while (scanf("%lf%lf", &left, &right) != EOF) {
        if (left >= 1.1) la++;
        else if (0.6 <= left && left < 1.1) lb++;
        else if (0.2 <= left && left < 0.6) lc++;
        else ld++;
         
        if (right >= 1.1) ra++;
        else if (0.6 <= right && right < 1.1) rb++;
        else if (0.2 <= right && right < 0.6) rc++;
        else rd++;
    }
    printf("%d %d\n%d %d\n%d %d\n%d %d\n", la, ra, lb, rb, lc, rc, ld, rd);
    return 0;
}

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

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

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

C++: #include<iostream>
using namespace std;
int L[4],R[4];
main()
{
    double l,r;
    while(cin>>l>>r)
    {
        L[l<0.2?3:l<0.6?2:l<1.1?1:0]++;
        R[r<0.2?3:r<0.6?2:r<1.1?1:0]++;
    }
    for(int i=0;i<4;i++)cout<<L[i]<<" "<<R[i]<<endl;
}

C++: #include <iostream>

using namespace std;

int l[4], r[4];

int main()
{
    double a, b;
    
    while(cin >> a >> b)
    {
        l[a < 0.2 ? 3 : a < 0.6 ? 2 : a < 1.1 ? 1 : 0]++;
        r[b < 0.2 ? 3 : b < 0.6 ? 2 : b < 1.1 ? 1 : 0]++;
    }
    
    for(int i = 0; i < 4; i++)
    {
        cout << l[i] << ' ' << r[i];
    }
    
    return 0;
}

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

using namespace std;
using ll = long long;
using pii = pair<int, int>;

int main() {
  cin.tie(0);
  ios_base::sync_with_stdio(false);
  cout << fixed << setprecision(10);
  
  double l, r;
  int cnt[4][2] = {};
  while (cin >> l >> r) {
    auto check = [&](double x) { return x >= 1.1 ? 0 : x >= 0.6 ? 1 : x >= 0.2 ? 2 : 3; };
    cnt[check(l)][0]++;
    cnt[check(r)][1]++;
  }
  for (int i = 0; i < 4; i++) {
    cout << cnt[i][0] << " " << cnt[i][1] << endl;
  }

  return 0;
}

C++: #include <iostream>

using namespace std;

int l[4], r[4];

int main()
{
    double a, b;
    
    while(cin >> a >> b)
    {
        l[a < 0.2 ? 3 : a < 0.6 ? 2 : a < 1.1 ? 1 : 0]++;
        r[b < 0.2 ? 3 : b < 0.6 ? 2 : b < 1.1 ? 1 : 0]++;
    }
    
    for(int i = 0; i < 4; i++)
    {
        cout << l[i] << ' ' << r[i] << endl;
    }
    
    return 0;
}

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

int getRank(double x) {
	if (1.1 <= x) return 0;
	if (0.6 <= x) return 1; 
	if (0.2 <= x) return 2;
	return 3;
}

int main() {
	int resutls[4][2];
	double a, b;
	memset(resutls, 0, sizeof(resutls));
	while (cin >> a >> b) {
		resutls[getRank(a)][0]++;
		resutls[getRank(a)][1]++;
	}
	for (int i = 0; i < 4; i++) {
		cout << resutls[i][0] << ' ' << resutls[i][1] << endl;
	}
	return 0;
}

C++: #include<stdio.h>
int main(void)
{
	float a,b;
	int l1,l2,l3,l4;
	int r1,r2,r3,r4;
	l1=l2=l3=l4=0;
	r1=r2=r3=r4=0;
	while(scanf("%f %f",&a,&b)!=EOF){
		if(a>=1.1){
			l1++;
		}
		else if(a>=0.6){
			l2++;
		}
		else if(a>=0.2){
			l3++;
		}
		else if(a<0.2){
			l4++;
		}
		if(b>=1.1){
			r1++;
		}
		else if(b>=0.6){
			r2++;
		}
		else if(b>=0.2){
			r3++;
		}
		else if(b<0.2){
			r4++;
		}
	}
	printf("%d %d\n%d %d\n%d %d\n%d %d\n",l1,r1,l2,r2,l3,r3,l4,r4);
	return 0;
}

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

int main(void){
	int l[4],r[4];
	memset(l,0,sizeof(l));
	memset(r,0,sizeof(r));
	double a,b;
	while(~scanf("%lf%lf",&a,&b)){
		if(a>=1.1)l[0]++;
		else if(a>=0.6)l[1]++;
		else if(a>=0.2)l[2]++;
		else l[3]++;
		if(b>=1.1)r[0]++;
		else if(b>=0.6)r[1]++;
		else if(b>=0.2)r[2]++;
		else r[3]++;
	}
	for(int i=0;i<=3;i++){
		printf("%d %d\n",l[i],r[i]);
	}
    return 0;
}

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

int main() {
	double l, r;
	int a = 0, b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0;
	while (cin >> l >> r) {
		if (l >= 1.1) { a++; }
		else if (l >= 0.6&&1.1 > l) { c++; }
		else if (l >= 0.2&&0.6 > l) { e++; }
		else if(0.2>l){ g++; }

		if (r >= 1.1) { b++; }
		else if (r >= 0.6&&1.1 > r) { d++; }
		else if (l >= 0.2&&0.6 > r) { f++; }
		else if(0.2>r) { h++; }
	}
	cout << a << " " << b <<'\n'<< c << " " << d << '\n' << e << " " << f <<'\n'
		<<g << " " << h ; 
		return 0;
}