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)
{
    float a,c;
	int b[8],i;
	for(i=0;i<8;i++) b[i]=0;
	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>

using namespace std;
int main(){
	int L[4]={},R[4]={};
	double left,right;
	while(cin >> left >> right){
		if(left >= 1.1){
			L[0]++;
		}else if(left >= 0.6){
			L[1]++;
		}else if(left >=0.2){
			L[2]++;
		}else{
			L[3]++;
		}
		if(right >= 1.1){
			R[0]++;
		}else if(right >= 0.6){
			R[1]++;
		}else if(right >=0.2){
			R[2]++;
		}else{
			R[3]++;
		}
	}
		for(int i=0;i<4;i++){
			cout << L[i] << ' ' << R[i] << endl;
		}
	return 0;
}

C++: #include <iostream>
#include <stdlib.h>

using namespace std;

int main(int argc, char **argv)
{
	int *l, *r;
	float left, right;
	
	l = (int *)calloc(4, sizeof(int));
	r = (int *)calloc(4, sizeof(int));
	
	while(cin >> left >> right){
		if(left < 0.2){
			l[3]++;
		} else if(left < 0.6){
			l[2]++;
		} else if(left < 1.1){
			l[1]++;
		} else {
			l[0]++;
		}
		
		if(right < 0.2){
			r[3]++;
		} else if(right < 0.6){
			r[2]++;
		} else if(right < 1.1){
			r[1]++;
		} else {
			r[0]++;
		}
	}
	
	for(int i = 0; i < 4; i++){
		cout << l[i] << " " << r[i] << endl;
	}
	
	free(l);
	free(r);
	
	return 0;
}

C++: #include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>
#include <cmath>

using namespace std;

#define EPS (1e-10)
#define EQ(a,b) (abs(a-b)<EPS)

int main(){

	double l,r;

	int le[200];
	int re[200];
	memset(le,0,sizeof(le));
	memset(re,0,sizeof(re));

	while(cin>>l>>r){
		if(l>=1.1){
			le['A']++;
		}
		else if((l>0.6||EQ(l,0.6))&&l<1.1){
			le['B']++;
		}
		else if((l>0.2||EQ(l,0.2))&&l<0.6){
			le['C']++;
		}
		else if(l<0.2)
			le['D']++;

		if(EQ(r,1.1)||r>1.1){
			re['A']++;
		}
		else if((r>0.6||EQ(r,0.6))&&r<1.1){
			re['B']++;
		}
		else if((r>0.2||EQ(r,0.2))&&r<0.6){
			re['C']++;
		}
		else if(r<0.2)
			re['D']++;
	}
	for(char i = 'A'; i != 'E'; i++){
		cout<<le[i]<<" "<<re[i]<<endl;
	}

	return 0;
}

C++: #include <stdio.h>

int main( ) {

	double eye[ 40 ][ 2 ]; 
	int num = 0;
	int lr_change = 0;
	int al=0;
	int ar=0;
	int bl=0;
	int br=0;
	int cl=0;
	int cr=0;
	int dl=0;
	int dr=0;

	while( 1 ) {

		scanf("%lf",& eye[ num ][lr_change] );

		if( eye[ num ][lr_change] == -1) {
			break;
		}

		if( eye[ num ][lr_change] >= 1.1 ) {
			if( lr_change == 0 ){
				al++;
			}else{
				ar++;
			}
		}else if( 0.6 <= eye[ num ][lr_change] && eye[ num ][lr_change] < 1.1 ){
			if( lr_change == 0 ){
				bl++;
			}else{
				br++;
			}
		}else if( 0.2 <= eye[ num ][lr_change] && eye[ num ][lr_change] < 0.6 ){
			if( lr_change == 0 ){
				cl++;
			}else{
				cr++;
			}
		}else if( eye[ num ][lr_change] < 0.2 ){
			if( lr_change == 0 ){
				dl++;
			}else{
				dr++;
			}
		}

		if( lr_change == 0 ) {
			lr_change = 1;
		}else{
			num++;
			lr_change = 0;
		}

	}

	printf("%d %d\n",al,ar);
	printf("%d %d\n",bl,br);
	printf("%d %d\n",cl,cr);
	printf("%d %d\n",dl,dr);

	return 0;
}

C++: #include <iostream>
#include <stdio.h>
using namespace std;
 int an[4][2],n,i,j;
 int main() {
  double ey[2];
  while(cin >> ey[0] >> ey[1]) {
	  for (i=0;i<2;i++) {
		  if (ey[i]>=1.1) j=0;
		  if (ey[i]>=0.6 && ey[i]<1.1) j=1;
		  if (ey[i]>=0.2 && ey[i]<0.6) j=2;
		  if (ey[i]<0.2) j=3;
		  an[j][i]++;
	  }
   }
  for (i=0;i<4;i++) cout << an[i][0] << ' ' << an[i][1] << endl;
  return 0;
 }

C++: #include<cstdio>
#include<cstring>
#include<algorithm>
#include<functional>
using namespace std;
int main(void)
{
	int i,j,cnt[4],cnt1[4];
	double migi,hidari;
	for(i=0;i<4;i++) {
		cnt[i]=0;
		cnt1[i]=0;
	}
	while(scanf("%lf %lf",&hidari,&migi)!=EOF) {
		if(hidari>=1.1) cnt[0]++;
		if(hidari<1.1 && hidari>=0.6) cnt[1]++;
		if(hidari<0.6 && hidari>=0.2) cnt[2]++;
		if(hidari<0.2) cnt[3]++;
		if(migi>=1.1) cnt1[0]++;
		if(migi<1.1 && migi>=0.6) cnt1[1]++;
		if(migi<0.6 && migi>=0.2) cnt1[2]++;
		if(migi<0.2) cnt1[3]++;
	}
	for(i=0;i<4;i++) printf("%d %d\n",cnt[i],cnt1[i]);
	return 0;
}

C++: #include<stdio.h>
int main()
{
	int a1=0,a2=0,b1=0,b2=0,c1=0,c2=0,d1=0,d2=0;
	float l,r;
		while(scanf("%f %f",&l,&r)==2){
		if(l>=1.1)
			a1++;
		else if(l>=0.6)
			b1++;
		else if(l>=0.2)
			c1++;
		else
			d1++;
		if(r>=1.1)
			a2++;
		else if(r>=0.6)
			b2++;
		else if(r>=0.2)
			c2++;
		else
			d2++;
	}
	printf("%d %d\n%d %d\n%d %d\n%d %d\n",a1,a2,b1,b2,c1,c2,d1,d2);
	return 0;
}

C++: #include<iostream>
main(){int l[4][2]={0},i=0;for(double a;std::cin>>a;i++)if(a<0.2)l[3][i%2]++;else if(a<0.6)l[2][i%2]++;else a<1.1?l[1][i%2]++:l[0][i%2]++;for(int i=0;i<4;i++)std::cout<<l[i][0]<<" "<<l[i][1]<<"\n";}

C++: #define _USE_MATH_DEFINES
#include <iostream>
#include <string>
#include <utility>
#include <algorithm>
#include <queue>
#include <map>
#include <fstream>
#include <array>
#include <utility>
#include <functional>
#include <stack>
#include <math.h>
#include <numeric>
#include <set>

using namespace std;
typedef long long Int;
#define REP(i , x) for(Int i = 0 ; i < x ; ++i)
typedef pair<int, int> P;

int Right[4];
int Left[4];

int main()
{
	double r, l;

	while (cin >> r >> l){
		if (r >= 1.1)
			Right[0]++;
		if (l >= 1.1)
			Left[0]++;
		if (r < 1.1&&r>=0.6)
			Right[1]++;
		if (l < 1.1&&l>=0.6)
			Left[1]++;
		if (r <0.6&&r>=0.2)
			Right[2]++;
		if (l <0.6&&l>=0.2)
			Left[2]++;
		if (r <0.2)
			Right[3]++;
		if (l < 0.2)
			Left[3]++;
	}
	REP(i, 4){
		cout << Right[i] << " " << Left[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;
}