#include <iostream>
#include <algorithm>
#include <map>
#include <vector>
using namespace std;
struct nation{
    int gold;
    int medal;
    int population;
};
int main() {
    int n,m;
    cin>>n>>m;
    vector<nation> a(n);
    for (int i = 0; i < n; ++i) {
        cin>>a[i].gold>>a[i].medal>>a[i].population;

    }
    vector<int> seq(m);
    for (int i = 0; i < m; ++i) {
        cin>>seq[i];
    }
    map<int,vector<int>> rank;
    for (int i = 0; i < n; ++i) {
        int grank=1;
        for (int j = 0; j <n; ++j) {
            if (a[i].gold<a[j].gold) grank++;
        }
        rank[i].push_back(grank);
    }
    for (int i = 0; i < n; ++i) {
        int grank=1;
        for (int j = 0; j <n; ++j) {
            if (a[i].medal<a[j].medal) grank++;
        }
        rank[i].push_back(grank);
    }
    for (int i = 0; i < n; ++i) {
        int grank=1;
        double grate1=(double)a[i].gold/a[i].population;
        if (a[i].gold==0&&a[i].population==0) grate1=0;
        else if (a[i].gold!=0&&a[i].population==0) grate1=1000;
        for (int j = 0; j <n; ++j) {
            double grate2=(double)a[j].gold/a[j].population;
            if (a[j].gold==0&&a[j].population==0) grate2=0;
            else if (a[j].gold!=0&&a[j].population==0) grate2=1000;
            if (grate1<grate2) grank++;
        }
        rank[i].push_back(grank);
    }
    for (int i = 0; i < n; ++i) {
        int grank=1;
        double grate1=(double)a[i].medal/a[i].population;
        if (a[i].medal==0&&a[i].population==0) grate1=0;
        else if (a[i].medal!=0&&a[i].population==0) grate1=1000;
        for (int j = 0; j <n; ++j) {
            double grate2=(double)a[j].medal/a[j].population;
            if (a[j].medal==0&&a[j].population==0) grate2=0;
            else if (a[j].medal!=0&&a[j].population==0) grate2=1000;
            if (grate1<grate2) grank++;
        }
        rank[i].push_back(grank);
    }
        for (int i = 0; i < m; ++i) {
            int min=0;
            for (int j = 0; j <4; ++j) {
                if (rank[seq[i]][j]<rank[seq[i]][min])
                    min=j;
            }
            cout<<rank[seq[i]][min]<<":"<<min+1<<endl;
        }

    return 0;
}