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;

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

}

C++: main(){int l[4][2]={0},i;float a;for(i=0;scanf("%f",&a)+1;i++)a<0.2?l[3][i%2]++:(a<0.6?l[2][i%2]++:(a<1.1?l[1][i%2]++:l[0][i%2]++));for(i=0;i<4;)printf("%d %d\n",l[i++][0],l[i][1]);}

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

int main() {
	int right_a = 0, right_b = 0, right_c = 0, right_d = 0;
	int left_a = 0, left_b = 0, left_c = 0, left_d = 0;
	double right_eye, left_eye;
	while (cin >> left_eye >> right_eye) {
		if (left_eye >= 1.1)left_a++;
		else if (left_eye >= 0.6&&left_eye < 1.1)left_b++;
		else if (left_eye >= 0.2&&left_eye < 0.6)left_c++;
		else if (left_eye < 0.2)left_d++;
		if (right_eye >= 1.1)right_a++;
		else if (right_eye >= 0.6&&right_eye < 1.1)right_b++;
		else if (right_eye >= 0.2&&right_eye < 0.6)right_c++;
		else if (right_eye < 0.2)right_d++;
	}
	cout << left_a << ' ' << right_a << endl;
	cout << left_b << ' ' << right_b << endl;
	cout << left_c << ' ' << right_c << endl;
	cout << left_d << ' ' << right_d << endl;
}

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

int main(){
	double left,right;
	int a[8];
	for(int i=0 ; i<8 ; i++) a[i] = 0;

	while( cin >> left >> right ){
		if( left >= 1.1 ) a[0]++;
		else if( left >= 0.6 ) a[2]++;
		else if( left >= 0.2 ) a[4]++;
		else a[6]++;

		if( right >= 1.1 ) a[1]++;
		else if( right >= 0.6 ) a[3]++;
		else if( right >= 0.2 ) a[5]++;
		else a[7]++;
	}
	for(int i=0 ; i<4 ; i++){
		cout << a[i*2] << " " << a[i*2+1] << endl;
	}
}

C++: #include<iostream>

using namespace std;

int main()
{
	double e1[42],e2[42];
	int i,j;
	int ans[8]={0};
	
	cin >> e1[0];
	for(i=1;cin >> e2[i-1];++i)
	{
		cin >> e1[i] ;
	}
	
	for(j=0;j<i-1;j++)
	{
		if(e1[j]>=1.1)
			ans[0]++;
		else if(e1[j]>=0.6)
			ans[1]++;
		else if(e1[j]>=0.2)
			ans[2]++;
		else
			ans[3]++;
		if(e2[j]>=1.1)
			ans[4]++;
		else if(e2[j]>=0.6)
			ans[5]++;
		else if(e2[j]>=0.2)
			ans[6]++;
		else
			ans[7]++;
	}
	for(i=0;i<4;i++)
	{
		cout << ans[i] << " " << ans[i+4] << endl;
	}
}

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 <cstdio>
#include <algorithm>
using namespace std;
int left[4], right[4];


int calc(const double &a) {
    if (a >= 1.1) return 0;
    else if (a >= 0.6) return 1;
    else if (a >= 0.2) return 2;
    else return 3;
}


int main()  {

    fill(left, left+4, 0); fill(right, right+4, 0);
    double l, r;
    while (scanf("%lf %lf", &l, &r) != EOF) {
        left[calc(l)]++;
        right[calc(r)]++;
    }
    for (int i = 0; i < 4; i++) printf("%d %d\n", left[i], right[i]);
    return 0;
}

C++: #include<stdio.h>
int main()
{
	double l,r;
	int al=0,bl=0,cl=0,dl=0,ar=0,br=0,cr=0,dr=0;
	while(scanf("%lf%lf",&l,&r)!=EOF){
		if(l>=1.1){
			al++;
		}else if(l>=0.6){
			bl++;
		}else if(l>=0.2){
			cl++;
		}else{
			dl++;
		}
		if(r>=1.1){
			ar++;
		}else if(r>=0.6){
			br++;
		}else if(r>=0.2){
			cr++;
		}else{
			dr++;
		}
	}
	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<iostream>
#include<string>
#include<stdio.h>
#include<cstdio>
#include<math.h>
using namespace std;
int main(){
    double a,b,racount=0,lacount=0,rbcount=0,lbcount=0,rccount=0,lccount=0,rdcount=0,ldcount=0;
    while(cin>>a>>b){
        if(a>=1.1){
            racount++;
        }
        else if(a>=0.6){
            rbcount++;
        }
        else if(a>=0.2){
            rccount++;
        }
        else{
            rdcount++;
        }
        if(b>=1.1){
            lacount++;
        }
        else if(b>=0.6){
            lbcount++;
        }
        else if(b>=0.2){
            lccount++;
        }
        else{
            ldcount++;
        }
    }
    cout<<racount<<" "<<lacount<<endl<<rbcount<<" "<<lbcount<<endl<<rccount<<" "<<lccount<<endl<<rdcount<<" "<<ldcount<<endl;
    return 0;
}

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

int main() {
	double a, b;
	int left[4] = {};
	int right[4] = {};
	while (cin >> a >> b) {
		if (a >= 1.1) { left[0]++; }
		else if (a >= 0.6) { left[1]++; }
		else if (a >= 0.2) { left[2]++; }
		else { left[3]++; }

		if (b >= 1.1) { right[0]++; }
		else if (b >= 0.6) {right[1]++;}
		else if (a >= 0.2) { right[2]++; }
		else { right[3]++; }
	}
	for (int i = 0; i < 4; i++) {
		cout << left[i] << " " << right[i] << endl;
	}
	return 0;
}

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

void count(double input, int* rank) {
    if (input >= 1.1) {
        rank[0]++;
    } else if (input >= 0.6) {
        rank[1]++;
    } else if (input >= 0.2) {
        rank[2]++;
    } else {
        rank[3]++;
    }
}

int main() {
    int leftEyesight[4] = {}, rightEyesight[4] = {};
    double left, right;
    while (cin >> left >> right) {
        count(left, leftEyesight);
        count(right, rightEyesight);
    }
    for (int i = 0; i < 4; i++) {
        cout << leftEyesight[i] << " " << rightEyesight[i] << 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]);return 0;}

C++: #include <iostream>
#include <cstdio>
#include <algorithm>
#include <cassert>
#include <vector>
#include <string>
#include <cmath>
#include <map> 
#include <sstream>
#include <cstdio>
using namespace std;
 
const int MAX= 10000100;

#define loop(i,a,b) for(int i = a ; i < b ; i ++)
#define rep(i,a) loop(i,0,a)
#define all(a) (a).begin(),(a).end()
#define ll long long int
#define gcd(a,b) __gcd(a,b)
#define pb(a) push_back(a)
int GCD(int a, int b) {if(!b) return a; return gcd(b, a%b);}
int lcm(int a, int b) {return a*b / gcd(a, b);}

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

}