L.相思子肯来,约在莲花岸。
题号:NC232162
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

Joler很喜欢玩一款自走棋游戏,这款自走棋游戏的棋盘由87列组成,如下图所示:(仅显示己方的一半棋盘,敌方的棋盘与己方棋盘相同)。

为简化计算,在本题中将每一行之间对齐,如下所示:










在战斗开始前,玩家可以把一定数量的棋子放置在棋盘上,战斗开始时,棋子会自动攻击距离自己最近的敌方棋子,但有一些特殊的棋子除外,这些棋子会攻击距离自己最远的敌方棋子。(若存在距离相同的情况则优先攻击编号较小的棋子)
现在给出敌我双方的棋子位置(记棋盘左下角的位置为 ),请你计算出每个棋子在战斗时首先攻击的目标。

输入描述:

第一行包括两个整数,分别表示我方和敌方的棋子数量。
接下来n行中,每行包括三个整数
x_i, y_i表示我方第个棋子的位置,若k_i等于1,则表示当前这个棋子会攻击距离自己最远的敌方棋子,否则它会攻击距离自己最近的敌方棋子。
接下来m行中,每行包括三个整数,意义同上。

输出描述:

共两行:
第一行输出n个整数,第个整数表示我方第i个棋子会首先攻击哪一个敌方棋子,用空格分开。
第二行输出m个整数,第个整数表示敌方第j个棋子会首先攻击哪一个我方棋子,用空格分开。
示例1

输入

复制
2 2
1 1 1
7 5 0
7 8 0
4 3 0

输出

复制
1 1
2 1

说明

对于我方一号棋子,敌方的两个棋子距离它的距离分别是9.223.61,该棋子首先攻击距离自己最远的棋子,故首先攻击敌方1号棋子。
对于我方二号棋子,敌方的两个棋子距离它的距离分别是33.61,该棋子首先攻击距离自己最近的棋子,故首先攻击敌方1号棋子。
对于敌方一号棋子,我方的两个棋子距离它的距离分别是9.223,该棋子首先攻击距离自己最近的棋子,故首先攻击我方2号棋子。
对于敌方二号棋子,我方的两个棋子距离它的距离分别是3.613.61,该棋子首先攻击距离自己最近的棋子,但我方距离这个棋子最近的有两个棋子,故首先攻击编号较小的棋子,即我方1号棋子。