#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
typedef struct Data {
int nationid;
int gold;
int medal;
int population;
float gold_ratio;
float medal_ratio;
int rank[4];
}Data;
bool gold_amount(Data d1, Data d2) {
return d1.gold > d2.gold;
}
bool medal_amount(Data d1, Data d2) {
return d1.medal > d2.medal;
}
bool gold_per(Data d1, Data d2) {
return d1.gold_ratio > d2.gold_ratio;
}
bool medal_per(Data d1, Data d2) {
return d1.medal_ratio > d2.medal_ratio;
}
bool order(Data d1, Data d2) {
return d1.nationid < d2.nationid;
}
int main() {
int N = 0, M = 0;
while (cin >> N >> M)
{
Data* data = new Data[N];
for (int i = 0; i < N; i++)
{
cin >> data[i].gold >> data[i].medal >> data[i].population;
data[i].nationid = i;
if (data[i].population == 0)
{
data[i].gold_ratio = data[i].gold == 0 ? 0 : 9999999.0;
data[i].medal_ratio = data[i].medal == 0 ? 0 : 9999999.0;
}
else
{
data[i].gold_ratio = (float)data[i].gold / data[i].population;
data[i].medal_ratio = (float)data[i].medal / data[i].population;
}
}
Data* Nation = new Data[M];
int id = 0;
for (int i = 0; i < M; i++)
{
cin >> id;
Nation[i].gold = data[id].gold;
Nation[i].medal = data[id].medal;
Nation[i].gold_ratio = data[id].gold_ratio;
Nation[i].medal_ratio = data[id].medal_ratio;
Nation[i].nationid = data[id].nationid;
Nation[i].population = data[i].population;
}
sort(Nation, Nation + M, gold_amount);
int rank = 1;
Nation[0].rank[0] = 1;
for (int i = 1; i < M; i++)
{
if (Nation[i].gold == Nation[i - 1].gold)
Nation[i].rank[0] = rank;
else {
Nation[i].rank[0] = i + 1;
rank = i + 1;
}
}
sort(Nation, Nation + M, medal_amount);
rank = 1;
Nation[0].rank[1] = 1;
for (int i = 1; i < M; i++)
{
if (Nation[i].medal == Nation[i - 1].medal)
Nation[i].rank[1] = rank;
else {
Nation[i].rank[1] = i + 1;
rank = i + 1;
}
}
sort(Nation, Nation + M, gold_per);
rank = 1;
Nation[0].rank[2] = 1;
for (int i = 1; i < M; i++)
{
if (Nation[i].gold_ratio == Nation[i - 1].gold_ratio)
Nation[i].rank[2] = rank;
else {
Nation[i].rank[2] = i + 1;
rank = i + 1;
}
}
sort(Nation, Nation + M, medal_per);
rank = 1;
Nation[0].rank[3] = 1;
for (int i = 1; i < M; i++)
{
if (Nation[i].medal_ratio == Nation[i - 1].medal_ratio)
Nation[i].rank[3] = rank;
else {
Nation[i].rank[3] = i + 1;
rank = i + 1;
}
}
sort(Nation, Nation + M, order);
for (int i = 0; i < M; i++)
{
int min = Nation[i].rank[0];
int method = 1;
for (int j = 1; j < 4; j++)
{
if (Nation[i].rank[j] < min)
{
min = Nation[i].rank[j];
method = j + 1;
}
}
cout << min << ":" << method << endl;
}
cout << endl;
}
return 0;
}