#include <iostream>
#include <vector>
struct Person
{
int height;
int age;
double cenpery;
void grow();
};
int main()
{
unsigned int n, speed, persons;
int midget = 0;
Person person;
std::vector<Person> container;
container.reserve(100000);
std::cin >> n;
for (int i = 0; i < n; ++i)
{
midget = 0;
std::cin >> speed;
std::cin >> persons;
for (int j = 0; j < persons; ++j)
{
std::cin >> person.height;
std::cin >> person.age;
std::cin >> person.cenpery;
container.push_back(person);
}
for (int j = 0; j < 21; ++j)
{
for (int k = 0; k < container.size(); ++k)
if (container[midget].height > container[k].height)
midget = k;
std::cout << j << ": " << 5 * speed * speed + container[midget].height << std::endl;
for (int k = 0; k < container.size(); ++k)
container[k].grow();
}
container.clear();
}
return 0;
}
void Person::grow()
{
if (++age < 20)
height += cenpery;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKc3RydWN0IFBlcnNvbgp7CiAgICBpbnQgaGVpZ2h0OwogICAgaW50IGFnZTsKICAgIGRvdWJsZSBjZW5wZXJ5OwogICAgdm9pZCBncm93KCk7Cn07CgppbnQgbWFpbigpCnsKICAgIHVuc2lnbmVkIGludCBuLCBzcGVlZCwgcGVyc29uczsKICAgIGludCBtaWRnZXQgPSAwOwogICAgUGVyc29uIHBlcnNvbjsKICAgIHN0ZDo6dmVjdG9yPFBlcnNvbj4gY29udGFpbmVyOwogICAgY29udGFpbmVyLnJlc2VydmUoMTAwMDAwKTsKICAgIHN0ZDo6Y2luID4+IG47CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47ICsraSkKICAgIHsKICAgICAgICBtaWRnZXQgPSAwOwogICAgICAgIHN0ZDo6Y2luID4+IHNwZWVkOwogICAgICAgIHN0ZDo6Y2luID4+IHBlcnNvbnM7CiAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBwZXJzb25zOyArK2opCiAgICAgICAgewogICAgICAgICAgICBzdGQ6OmNpbiA+PiBwZXJzb24uaGVpZ2h0OwogICAgICAgICAgICBzdGQ6OmNpbiA+PiBwZXJzb24uYWdlOwogICAgICAgICAgICBzdGQ6OmNpbiA+PiBwZXJzb24uY2VucGVyeTsKICAgICAgICAgICAgY29udGFpbmVyLnB1c2hfYmFjayhwZXJzb24pOwogICAgICAgIH0KICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IDIxOyArK2opCiAgICAgICAgewogICAgICAgICAgICBmb3IgKGludCBrID0gMDsgayA8IGNvbnRhaW5lci5zaXplKCk7ICsraykKICAgICAgICAgICAgICAgIGlmIChjb250YWluZXJbbWlkZ2V0XS5oZWlnaHQgPiBjb250YWluZXJba10uaGVpZ2h0KQogICAgICAgICAgICAgICAgICAgIG1pZGdldCA9IGs7CiAgICAgICAgICAgIHN0ZDo6Y291dCA8PCBqIDw8ICI6ICIgPDwgNSAqIHNwZWVkICogc3BlZWQgKyBjb250YWluZXJbbWlkZ2V0XS5oZWlnaHQgPDwgc3RkOjplbmRsOwogICAgICAgICAgICBmb3IgKGludCBrID0gMDsgayA8IGNvbnRhaW5lci5zaXplKCk7ICsraykKICAgICAgICAgICAgICAgIGNvbnRhaW5lcltrXS5ncm93KCk7CiAgICAgICAgfQogICAgICAgIGNvbnRhaW5lci5jbGVhcigpOwogICAgfQogICAgcmV0dXJuIDA7Cn0KCnZvaWQgUGVyc29uOjpncm93KCkKewogICAgaWYgKCsrYWdlIDwgMjApCiAgICAgICAgaGVpZ2h0ICs9IGNlbnBlcnk7Cn0K