#t548. 旗鼓相当的对手(加强版)

旗鼓相当的对手(加强版)

旗鼓相当的对手(加强版)

题目描述

现有 NN 名同学参加了期末考试,并且获得了每名同学的信息:姓名(不超过 88 个字符的字符串,不含空格)、语文、数学、英语成绩(均为不超过 150150 的自然数)。

如果某对学生 (i,j)(i,j) 满足:

  • 每一科成绩的分差都不大于 55;
  • 总分分差不大于 1010;

那么这对学生就是“旗鼓相当的对手”。

现在想知道这些同学中,哪些是“旗鼓相当的对手”,请输出他们的姓名。

所有人的姓名按照字典序给出。输出时也应按照字典序输出所有对手组合:

  1. 每组组合中,第一个姓名的字典序应小于第二个姓名;
  2. 如果两个组合中第一个姓名不同,则第一个姓名字典序小的先输出;
  3. 如果两个组合中第一个姓名相同但第二个姓名不同,则第二个姓名字典序小的先输出。

输入格式

第一行输入一个正整数 NN,表示学生个数。

接下来 NN 行,每行首先输入一个字符串表示学生姓名,再输入 33 个自然数表示语文、数学、英语成绩。字符串和整数之间均用空格分隔。

输出格式

输出若干行,每行 22 个以空格隔开的字符串,表示一组旗鼓相当的对手。

注意按题目描述中的顺序输出。

样例输入

3
fafa 90 90 90
lxl 95 85 90
senpai 100 80 91

样例输出

fafa lxl
lxl senpai

样例解释

共有 33 名同学:

  • fafa 的语文、数学、英语成绩分别为 90,90,9090,90,90,总分为 270270;
  • lxl 的语文、数学、英语成绩分别为 95,85,9095,85,90,总分为 270270;
  • senpai 的语文、数学、英语成绩分别为 100,80,91100,80,91,总分为 271271。

对于 fafa 和 lxl:

  • 三科分差分别为 5,5,05,5,0,都不大于 55;
  • 总分分差为 00,不大于 1010。

所以他们是旗鼓相当的对手。

对于 fafa 和 senpai:

  • 语文分差为 1010,大于 55。

所以他们不是旗鼓相当的对手。

对于 lxl 和 senpai:

  • 三科分差分别为 5,5,15,5,1,都不大于 55;
  • 总分分差为 11,不大于 1010。

所以他们是旗鼓相当的对手。

因此,按字典序输出这两组对手,得到样例输出中的两行。

数据范围

1≤N≤10001 \le N \le 1000

姓名长度不超过 88,语文、数学、英语成绩均为不超过 150150 的自然数。