#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int n, jumlahDesa;
cin >> n >> jumlahDesa;
int desa, gol;
double volume;
// [desa][golongan]
int jumlahPendonor[100][5] = {0};
double totalVolume[100][5] = {0};
for (int i = 0; i < n; i++) {
cin >> desa >> gol >> volume;
// validasi agar tidak keluar dari batas
if (desa >= 1 && desa <= jumlahDesa && gol >= 1 && gol <= 4) {
jumlahPendonor[desa][gol]++;
totalVolume[desa][gol] += volume;
}
}
for (int i = 1; i <= jumlahDesa; i++) {
cout << "Desa " << i << ":" << endl;
cout << "A:" << jumlahPendonor[i][1] << " " << totalVolume[i][1] << endl;
cout << "B:" << jumlahPendonor[i][2] << " " << totalVolume[i][2] << endl;
cout << "AB:" << jumlahPendonor[i][3] << " " << totalVolume[i][3] << endl;
cout << "O:" << jumlahPendonor[i][4] << " " << totalVolume[i][4] << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewogICAgaW50IG4sIGp1bWxhaERlc2E7CiAgICBjaW4gPj4gbiA+PiBqdW1sYWhEZXNhOwoKICAgIGludCBkZXNhLCBnb2w7CiAgICBkb3VibGUgdm9sdW1lOwoKICAgIC8vIFtkZXNhXVtnb2xvbmdhbl0KICAgIGludCBqdW1sYWhQZW5kb25vclsxMDBdWzVdID0gezB9OwogICAgZG91YmxlIHRvdGFsVm9sdW1lWzEwMF1bNV0gPSB7MH07CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBjaW4gPj4gZGVzYSA+PiBnb2wgPj4gdm9sdW1lOwogICAgICAgIC8vIHZhbGlkYXNpIGFnYXIgdGlkYWsga2VsdWFyIGRhcmkgYmF0YXMKICAgICAgICBpZiAoZGVzYSA+PSAxICYmIGRlc2EgPD0ganVtbGFoRGVzYSAmJiBnb2wgPj0gMSAmJiBnb2wgPD0gNCkgewogICAgICAgICAgICBqdW1sYWhQZW5kb25vcltkZXNhXVtnb2xdKys7CiAgICAgICAgICAgIHRvdGFsVm9sdW1lW2Rlc2FdW2dvbF0gKz0gdm9sdW1lOwogICAgICAgIH0KICAgIH0KCiAgICBmb3IgKGludCBpID0gMTsgaSA8PSBqdW1sYWhEZXNhOyBpKyspIHsKICAgICAgICBjb3V0IDw8ICJEZXNhICIgPDwgaSA8PCAiOiIgPDwgZW5kbDsKICAgICAgICBjb3V0IDw8ICJBOiIgPDwganVtbGFoUGVuZG9ub3JbaV1bMV0gPDwgIiAiIDw8IHRvdGFsVm9sdW1lW2ldWzFdIDw8IGVuZGw7CiAgICAgICAgY291dCA8PCAiQjoiIDw8IGp1bWxhaFBlbmRvbm9yW2ldWzJdIDw8ICIgIiA8PCB0b3RhbFZvbHVtZVtpXVsyXSA8PCBlbmRsOwogICAgICAgIGNvdXQgPDwgIkFCOiIgPDwganVtbGFoUGVuZG9ub3JbaV1bM10gPDwgIiAiIDw8IHRvdGFsVm9sdW1lW2ldWzNdIDw8IGVuZGw7CiAgICAgICAgY291dCA8PCAiTzoiIDw8IGp1bWxhaFBlbmRvbm9yW2ldWzRdIDw8ICIgIiA8PCB0b3RhbFZvbHVtZVtpXVs0XSA8PCBlbmRsOwogICAgfQoKICAgIHJldHVybiAwOwp9Cg==