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<string>
#include<cmath>
#include<vector>
#include<stack>
#include<queue>
#include<algorithm>
#include<complex>
using namespace std ;
typedef vector<int> vi ;
typedef vector<vi> vvi ;
typedef vector<string> vs ;
typedef pair<int, int> pii; 
typedef long long ll ;

#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()
int main(void){
  double r,l;
    vi re(4,0);
    vi le(4,0);
    while(cin>>r>>l){
    if(r>=1.1)re[0]++;
    else if(r>=0.6)re[1]++;
    else if(r>=0.2)re[2]++;
    else if(r>=0)re[3]++;

    if(l>=1.1)le[0]++;
    else if(l>=0.6)le[1]++;
    else if(l>=0.2)le[2]++;
    else if(l>=0)le[3]++;


  }
  
  rep(i,4)
    cout<<re[i]<<" "<<le[i]<<endl;

}

C++: #include <bits/stdc++.h>
#define rep(i,l,n) for(int i=l;i<n;i++)
#define rer(i,l,n) for(int i=l;i<=n;i++)
#define all(a) a.begin(),a.end()
#define o(a) cout<<a<<endl
#define fi first
#define se second
using namespace std;
typedef long long ll;
typedef vector<int> vint;
typedef pair<int,int> pii;

int main(){
	double d;
	int c=0,l[4]={},r[4]={},e;
	while(cin>>d){
		//if(d==0) break;
		c++;
		if(d>=1.1) e=0;
		else if(d>=0.6) e=1;
		else if(d>=0.2) e=2;
		else e=3;
		if(c%2) l[e]++;
		else r[e]++;
	}
	rep(i,0,4){
		o(l[i]<<" "<<r[i]);
	}
}

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

using namespace std;

int main(){

  double l;
  double r;

  int l_a=0;
  int l_b=0;
  int l_c=0;
  int l_d=0;
  int r_a=0;
  int r_b=0;
  int r_c=0;
  int r_d=0;
  
  while(cin>>l>>r){

	if(l>=1.1)
	  l_a++;
	else if(l>=0.6 && l<1.1)
	  l_b++;
	else if(l>=0.2 && l<0.6)
	  l_c++;
	else if(l<0.2)
	  l_d++;

	if(r>=1.1)
	  r_a++;
	else if(r>=0.6 && r<1.1)
	  r_b++;
	else if(r>=0.2 && r<0.6)
	  r_c++;
	else if(r<0.2)
	  r_d++;
	
  }

  cout<<l_a<<" "<<r_a<<endl;
  cout<<l_b<<" "<<r_b<<endl;
  cout<<l_c<<" "<<r_c<<endl;
  cout<<l_d<<" "<<r_d<<endl;
  
}

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(a<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>
#include<string.h>
#include<vector>
#include<list>
#include<stdio.h>
#include<math.h>
#include<iomanip>
#include<map>
#include<stack>
#include<queue>
#define range(i,a,b) for(int i = (a); i < (b); i++)
#define rep(i,b) range(i,0,b)
#define debug(x) cout << "debug " << x << endl;
using namespace std;

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

C++: #include <iostream>
#include <sstream>
#include <iomanip>
#include <algorithm>
#include <cmath>
#include <string>
#include <vector>
#include <list>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <bitset>
#include <numeric>
#include <climits>
#include <cfloat>
using namespace std;

int main()
{
    double eye[] = {0.2, 0.6, 1.1};
    int num[4][2] = {0};

    for(;;){
        double a, b;
        if(!(cin >> a >> b))
            break;

        int i = upper_bound(eye, eye+3, a) - eye;
        int j = upper_bound(eye, eye+3, b) - eye;
        ++ num[i][0];
        ++ num[j][1];
    }

    for(int i=3; i>=0; --i)
        cout << num[i][0] << ' ' << num[i][1] << endl;

    return 0;
}

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

int main(){
	
	int n;
	double a[2];
	int b[4][2]={0};
	cin>>n;
	while(n>0){
	for(int i=0;i<2;i++){
		cin>>a[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]++;
	}
		n--;
	}
	for(int i=0;i<4;i++)
		cout<<b[i][0]<<" "<<b[i][1]<<endl;
	

}

C++: #include <iostream>
#include <algorithm>
using namespace std;
int main(void){
    
    double a,b;
    int c=0,d=0,e=0,f=0;
    int g=0,h=0,i=0,j=0;
    
    while(cin >>a>>b){
        if(a>=1.1) c+=1;
        else if(a>=0.6 && a<1.1) d+=1;
        else if(a>=0.2 && a<0.6) e+=1;
        else f+=1;
        
        if(b>=1.1) g+=1;
        else if(b>=0.6 && b<1.1) h+=1;
        else if(b>=0.2 && b<0.6) i+=1;
        else j+=1;
    }
    
    cout <<c<<" "<<g<<endl;
    cout <<d<<" "<<h<<endl;
    cout <<e<<" "<<i<<endl;
    cout <<f<<" "<<j<<endl;
}

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



int l[4],r[4];
double a[4]={1.1,0.6,0.2,0.1};

int main(){
	double x,y;
	while(cin>>x>>y){
		for(int i=0;i<4;i++){
			if(a[i]<=x){
				l[i]++;
				break;
			}
		}
		for(int i=0;i<4;i++){
			if(a[i]<=y){
				r[i]++;
				break;
			}
		}
	}
	for(int i=0;i<4;i++){
		cout<<l[i]<<' '<<r[i]<<endl;
	}
	return 0;
}

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

int main() {
	double left, right;
	int Lleft[4] = {0, 0, 0, 0};
	int Lright[4] = {0, 0, 0, 0};
	while (cin >> left >> right) {
		if (left >= 1.1) Lleft[0]++;
		else if (left >= 0.6) Lleft[1]++;
		else if (left >= 0.2) Lleft[2]++;
		else if (left >= 0.0) Lleft[3]++;
		if (right >= 1.1) Lright[0]++;
		else if (right >= 0.6) Lright[1]++;
		else if (right >= 0.2) Lright[2]++;
		else if (right >= 0.0) Lright[3]++;
	}
	for (int i = 0; i < 4; i++) {
		cout << Lleft[i] << " " << Lright[i] << endl;
	}
	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;
	for(int i=0;i<4;i++){
		scanf("%f %f",&l,&r);
		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<bits/stdc++.h>
#define rep(i,n)for(int i=0;i<n;i++)
using namespace std;

int cntr[4], cntl[4];
int main() {
	double r, l;
	while (cin >> r >> l) {
		if (r >= 1.1)cntr[3]++;
		else if (r >= 0.6)cntr[2]++;
		else if (r >= 0.2)cntr[1]++;
		else cntr[0]++;
		if (l >= 1.1)cntl[3]++;
		else if (l >= 0.6)cntl[2]++;
		else if (l >= 0.2)cntl[1]++;
		else cntl[0]++;
	}
	rep(i, 4) {
		cout << cntr[3 - i] << ' ' << cntl[3 - i] << endl;
	}
}