#include <iostream>
#include <map>
using namespace std;
int main( ) {
int n, m;
cin >> n >> m; // n = jumlah pendonor, m = jumlah desa
// Map dua tingkat: desa -> golongan darah -> pair(jumlah pendonor, total volume)
map< int , map< int , pair< int ,int >>> data;
for ( int i = 0 ; i < n; i++ ) {
int desa, golDarah, volume;
cin >> desa >> golDarah >> volume;
data[ desa] [ golDarah] .first ++ ; // jumlah pendonor
data[ desa] [ golDarah] .second + = volume; // total volume darah ml
}
for ( int desa = 1 ; desa <= m; desa++ ) {
cout << "Desa " << desa << ":\n " ;
if ( data.find ( desa) == data.end ( ) ) {
cout << " Tidak ada data pendonor\n " ;
continue ;
}
for ( auto & gol : data[ desa] ) {
cout << " Golongan darah " << gol.first << ": "
<< gol.second .first << " pendonor, total volume "
<< gol.second .second << " ml\n " ;
}
}
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICBpbnQgbiwgbTsgCiAgICBjaW4gPj4gbiA+PiBtOyAvLyBuID0ganVtbGFoIHBlbmRvbm9yLCBtID0ganVtbGFoIGRlc2EKCiAgICAvLyBNYXAgZHVhIHRpbmdrYXQ6IGRlc2EgLT4gZ29sb25nYW4gZGFyYWggLT4gcGFpcihqdW1sYWggcGVuZG9ub3IsIHRvdGFsIHZvbHVtZSkKICAgIG1hcDxpbnQsIG1hcDxpbnQsIHBhaXI8aW50LGludD4+PiBkYXRhOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgaW50IGRlc2EsIGdvbERhcmFoLCB2b2x1bWU7CiAgICAgICAgY2luID4+IGRlc2EgPj4gZ29sRGFyYWggPj4gdm9sdW1lOwogICAgICAgIGRhdGFbZGVzYV1bZ29sRGFyYWhdLmZpcnN0Kys7ICAgICAgIC8vIGp1bWxhaCBwZW5kb25vcgogICAgICAgIGRhdGFbZGVzYV1bZ29sRGFyYWhdLnNlY29uZCArPSB2b2x1bWU7IC8vIHRvdGFsIHZvbHVtZSBkYXJhaCBtbAogICAgfQoKICAgIGZvciAoaW50IGRlc2EgPSAxOyBkZXNhIDw9IG07IGRlc2ErKykgewogICAgICAgIGNvdXQgPDwgIkRlc2EgIiA8PCBkZXNhIDw8ICI6XG4iOwogICAgICAgIGlmIChkYXRhLmZpbmQoZGVzYSkgPT0gZGF0YS5lbmQoKSkgewogICAgICAgICAgICBjb3V0IDw8ICIgIFRpZGFrIGFkYSBkYXRhIHBlbmRvbm9yXG4iOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgZm9yIChhdXRvJiBnb2wgOiBkYXRhW2Rlc2FdKSB7CiAgICAgICAgICAgIGNvdXQgPDwgIiAgR29sb25nYW4gZGFyYWggIiA8PCBnb2wuZmlyc3QgPDwgIjogIgogICAgICAgICAgICAgICAgIDw8IGdvbC5zZWNvbmQuZmlyc3QgPDwgIiBwZW5kb25vciwgdG90YWwgdm9sdW1lICIKICAgICAgICAgICAgICAgICA8PCBnb2wuc2Vjb25kLnNlY29uZCA8PCAiIG1sXG4iOwogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gMDsKfQo=
stdout
Desa 1:
Golongan darah 2: 1 pendonor, total volume 250 ml
Golongan darah 3: 1 pendonor, total volume 450 ml
Golongan darah 4: 1 pendonor, total volume 500 ml
Desa 2:
Golongan darah 1: 1 pendonor, total volume 500 ml
Golongan darah 2: 1 pendonor, total volume 200 ml
Desa 3:
Golongan darah 1: 2 pendonor, total volume 450 ml
Golongan darah 4: 1 pendonor, total volume 350 ml