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>
#include <stdio.h>
#include <numeric>
using namespace std;
#define rep(i,n) for(int i=0;i<(int)(n);++i)
#define repone(i,n) for(int i=1;i<(int)(n);++i)
#define repo(i,o,n) for(int i=o;i<(int)(n);++i)
#define Rep(j,n) for(int j=0;j<(int)(n);++j)
#define Repo(j,o,n) for(int j=o;j<(int)(n);++j)
#define Repone(j,n) for(int j=1;j<(int)(n);++j)
#define all(v) (v).begin(),(v).end()
#define rall(v) (v).rbegin(),(v).rend()
#define int long long
#define pb(a) push_back(a)
#define pbpair(a,b) push_back(make_pair(a,b))
#define MOD 1000000007
#define INF 9223372036854775807
#define pairint pair<int,int>
typedef pair< pairint , string> P;
int gcd( int x, int y ){ return y ? gcd(y, x%y) : x; }
bool pairCompare(const P& firstElof, const P& secondElof)
{
  if(firstElof.first.first!= secondElof.first.first)    return firstElof.first.first< secondElof.first.first;
else if(firstElof.first.second != secondElof.first.second)    return firstElof.first.second< secondElof.first.second;
else return false;
}
signed main() {
double x=0,y=0,z=0,w=0,n=0,m=0;
int a[4]={0,0,0,0},b[4]={0,0,0,0};
while(std::cin >> x>>y){
if(x>=1.1)a[0]++;
else if(x>=0.6)a[1]++;
else if(x>=0.2)a[2]++;
else a[3]++;

if(y>=1.1)b[0]++;
else if(y>=0.6)b[1]++;
else if(y>=0.2)b[2]++;
else b[3]++;
}
printf("%d %d\n%d %d\n%d %d\n%d %d\n",a[0],b[0],a[1],b[1],a[2],b[2],a[3],b[3]);
}

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


int main(int argc, const char * argv[]) {
    
    int leftArray[4],rightArray[4];
    
    double left,right;
    while (cin >> left >> right) {
        if(left >= 1.1) leftArray[0]++;
        else if(left >= 0.6) leftArray[1]++;
        else if(left >= 0.2) leftArray[2]++;
        else leftArray[3]++;
        
        if(right >= 1.1) rightArray[0]++;
        else if(right >= 0.6) rightArray[1]++;
        else if(right >= 0.2) rightArray[2]++;
        else rightArray[3]++;
            
    }
    
    for(int i=0;i<4;i++){
        cout << leftArray[i] << " " << rightArray[i] << endl;
    }
    
    return 0;
}

C++: #include<bits/stdc++.h>
using namespace std;

int main(){
	double l, r;
	int la=0,lb=0,lc=0,ld=0;
	int ra=0,rb=0,rc=0,rd=0;
	while(cin >> l >> r){
		if(l >= 1.1){
			la++;
		}
		else if(l >= 0.6){
			lb++;
		}
		else if(l >= 0.2){
			lc++;
		}
		else{
			ld++;
		}

		if(r >= 1.1){
			ra++;
		}
		else if(r >= 0.6){
			rb++;
		}
		else if(r >= 0.2){
			rc++;
		}
		else{
			rd++;
		}
	}
	cout << la << " " << ra << endl;
	cout << lb << " " << rb << endl;
	cout << lc << " " << rc << endl;
	cout << ld << " " << rd << endl;
}

C++: #include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <functional>
#include <numeric>
#include <stack>
#include <queue>
#include <map>
#include <set>
#include <utility>
#include <sstream>
#include <complex>

using namespace std;

#define FOR(i,a,b) for(long long i=(a);i<(b);i++)
#define REP(i,N) for(long long i=0;i<(N);i++)
#define ALL(s) (s).begin(),(s).end()
#define fi first
#define se second

#define PI acos(-1.0)
#define INF 1000000007
#define EPS 1e-10

typedef long long ll;
typedef pair<ll, ll> P;
typedef pair<double, double> PD;
typedef pair<string, ll> PS;
typedef vector<ll> V;

int co[2][4];
double l, r;

int main(){
	while (cin >> l >> r){
		if (1.1 - l < EPS) co[0][0]++;
		else if (0.6 - l < EPS) co[0][1]++;
		else if (0.2 - l < EPS) co[0][2]++;
		else co[0][3]++;
		if (1.1 - r < EPS) co[1][0]++;
		else if (0.6 - r < EPS) co[1][1]++;
		else if (0.2 - r < EPS)	co[1][2]++;
		else co[1][3]++;
	}
	REP(j, 4){
		cout << co[0][j] << " " << co[1][j] << endl;
	}
}

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

#define loop(i,a,b) for(int i=(a); i<(int)(b); i++)
#define rep(i,b) loop(i,0,b)
#define all(c) (c).begin(), (c).end()
 
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef pair<int,int> pii;

int main() {
  double a, b, l[4] = {}, r[4] = {};
  while(cin >> 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]++;
  }
  rep(i, 4) cout << l[i] << ' ' << r[i] << endl;
}

C++: #include<stdio.h>

int main(){
int x1,x2,y1,y2;
int A[5]={},B[5]={};

while(scanf("%d.%d %d.%d",x1,x2,y1,y2)!=EOF)
{
if(x1>=2)A[0]++;
else if(x1==1&&x2>=1)A[0]++;
else if(x1==0&&x2>=6)A[1]++;
else if(x1==0&&x2>=2)A[2]++;
else if(x1==0&&x2<2)A[3]++;

if(Y1>=2)B[0]++;
else if(y1==1&&y2>=1)B[0]++;
else if(y1==0&&y2>=6)B[1]++;
else if(y1==0&&y2>=2)B[2]++;
else if(y1==0&&y2<2)B[3]++;
}
for(int i=0;i<3;i++)
printf("%d %d\n"A[i],B[i]);


return 0;
}

C++: #include <iostream>

using namespace std;

int main(void){
    int i,j,k,l;
    int left[4]={0},right[4]={0};
    double data_l,data_r;
    
    while(cin>>data_l>>data_r){
        if(data_l>=1.1){
            left[0]++;
        }
        else if(data_l<1.1&&data_l>=0.6){
            left[1]++;
        }
        else if(data_l<0.6&&data_l>=0.2){
            left[2]++;
        }
        else if(data_l<0.2){
            left[3]++;
        }
        if(data_r>=1.1){
            right[0]++;
        }
        else if(data_r<1.1&&data_r>=0.6){
            right[1]++;
        }
        else if(data_r<0.6&&data_r>=0.2){
            right[2]++;
        }
        else if(data_r<0.2){
            right[3]++;
        }
    }
    for(i=0;i<4;i++){
        cout<<left[i]<<" "<<right[i]<<endl;
    }
    return(0);
}

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[41][2];
    int answer[41][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,i)
    {
        cout << answer[j][0] <<" " << answer[j][1] << endl;
    }
    return 0;
}