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>
#include <cstdio>
#include <vector>
#include <algorithm>
#include <cmath>
#include <utility>

#define ll (long long)
#define REP(i,n) for(int i = 0;i<(int)n;i++)
#define FOR(i,a,b) for(int i = (a);i < (b);i++)
#define RFOR(i,a,b) for(int i = (a);i>(b);i--)
#define COUNTER int i= 0,j = 0,k = 0,l = 0;

using namespace std;

int main (void){
    
    COUNTER
    double eyseight[43][2];
    int answer[43][2] = {0};
    
    while(cin >> eyseight[i][0] >> eyseight[i][1])
    {
        int j = 0;
        while(j != 2)
        {
            if(eyseight[i][j] >= 1.1)
                answer[0][j]++;
            else if(eyseight[i][j] < 1.1 && eyseight[i][j] >= 0.6)
                answer[1][j]++;
            else if (eyseight[i][j] < 0.6 && eyseight[i][j] >=0.2)
                answer[2][j]++;
            else
                answer[3][j]++;
            j++;
        }
        i++;
    }
    REP(j,4)
    {
        cout << answer[j][0] <<" " << answer[j][1] << endl;
    }
    return 0;
}

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

using namespace std;

int main(){
  int le[4]={0},re[4]={0};
  double l,r;

  while(cin>>l>>r){
    if(l>=1.1)
      le[0]++;
    else if (l>=0.6 && l<1.1)
      le[1]++;
    else if (l>=0.2 && l<0.6)
      le[2]++;
    else
      le[3]++;

    if(r>=1.1)
      re[0]++;
    else if (r>=0.6 && r<1.1)
      re[1]++;
    else if (r>=0.2 && r<0.6)
      re[2]++;
    else
      re[3]++;
  }

  for(int i=0;i<4;i++){
    cout<<le[i]<<" "<<re[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]={0};
  while(cin>>c>>b){
    if(c>1.0)a[0][0]++;
    else if(c>0.5)a[1][0]++;
    else if(c>0.1)a[2][0]++;
    else a[3][0]++;
    if(b>1.0)a[0][1]++;
    else if(b>0.5)a[1][1]++;
    else if(b>0.1)a[2][1]++;
    else a[3][1]++;
  }
  R(i,4)cout<<a[i][0]<<' '<<a[i][1]<<endl;
}

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 && m<1.1){
				cMB++;
			}
			else if(0.2<=m && m<0.6){
				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 <iostream>
#include<string>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<vector>
using namespace std;
int main(){
    float i,r;
    int Acount=0,Bcount=0,Ccount=0,Dcount=0,acount=0,bcount=0,ccount=0,dcount=0;
    while(cin>>i>>r){
        if(i>=1.1)Acount++;
        else if(i>=0.6&&i<1.1)Bcount++;
        else if(i>=0.2&&i<0.6)Ccount++;
        else if(i<0.2)Dcount++;
        if(r>=1.1)acount++;
        else if(r>=0.6&&r<1.1)bcount++;
        else if(r>=0.2&&r<0.6)ccount++;
        else if(r<0.2)dcount++;
    }
    cout<<Acount<<" "<<acount<<endl;
    cout<<Bcount<<" "<<bcount<<endl;
    cout<<Ccount<<" "<<ccount<<endl;
    cout<<Dcount<<" "<<dcount<<endl;
    return 0;
}

C++: #include <cstdio>


using namespace std;

static int Al,Ar,Bl,Br,Cl,Cr,Dl,Dr;

int main(){

    float l,r;
    while (scanf("%f%f",&l,&r)!=EOF){
        if (l<0.2)
            Dl++;
        else if (l<0.6)
            Cl++;
        else if (l<1.1)
            Bl++;
        else 
            Al++;


        if (r<0.2)
            Dr++;
        else if (r<0.6)
            Cr++;
        else if (r<1.1)
            Br++;
        else 
            Ar++;
    }

    printf("%d %d\n%d %d\n%d %d\n%d %d\n",Al,Ar,Bl,Br,Cl,Cr,Dl,Dr);

    return 0;
}

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;
    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;
class Sight{
    public:
        Sight();
        void setData(double left, double right);
        void getData(int ret[4][2]);

    private:
        int data[4][2];
        int jug(double eye_sight);
};
Sight::Sight(){
    for(int i = 0; i < 4; ++i){
        for (int j = 0; j < 2; j++) {
            data[i][j] = 0;
        }
    }
}
int Sight::jug(double eye_sight){
    if (eye_sight >= 1.1) {
        return 0;
    }
    else if (eye_sight >= 0.6) {
        return 1;
    }
    else if (eye_sight >= 0.2) {
        return 2;
    }
    else {
        return 3;
    }
}
void Sight::setData(double left, double right){
    ++data[jug(left)][0];
    ++data[jug(right)][1];
}
void Sight::getData(int ret[4][2]){
    for(int i = 0; i < 4; ++i){
        for(int j = 0; j < 2; ++j){
            ret[i][j] = data[i][j];
        }
    }
}
int main(){
    double right, left;
    Sight sight;
    while (cin >> left >> right) {
        sight.setData(left, right);
    }
    int ret[4][2];
    sight.getData(ret);

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

C++: #include<iostream>
int i,v[2][5];main(){float a;for(;std::cin>>a;)v[i^=1][(a<0.2)+(a<0.6)+(a<1.1)+1]++;for(;i++<4;)printf("%d %d\n",v[1][i],v[0][i]);}

C++: #include <bits/stdc++.h>
using namespace std;
int main(){
	int data[4][2];
	memset(data,0,sizeof(data));
	double a[2];
	while(cin>>a[0]>>a[1]){
		for(int i=0;i<2;i++){
			if(1.1<=a[i])data[0][i]++;
			else if(0.6<=a[i])data[1][i]++;
			else if(0.2<=a[i])data[2][i]++;
			else data[3][i]++;
		}
	}
	for(int i=0;i<4;i++){
		cout<<data[i][0]<<" "<<data[i][1]<<endl;
	}
}