CF568D.Sign Posts

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

One Khanate had a lot of roads and very little wood. Riding along the roads was inconvenient, because the roads did not have road signs indicating the direction to important cities.

The Han decided that it's time to fix the issue, and ordered to put signs on every road. The Minister of Transport has to do that, but he has only kk signs. Help the minister to solve his problem, otherwise the poor guy can lose not only his position, but also his head.

More formally, every road in the Khanate is a line on the OxyOxy plane, given by an equation of the form Ax+By+C=0Ax+By+C=0 ( AA and BB are not equal to 0 at the same time). You are required to determine whether you can put signs in at most kk points so that each road had at least one sign installed.

输入格式

The input starts with two positive integers nn , kk ( 1<=n<=105,1<=k<=51<=n<=10^{5},1<=k<=5 )

Next nn lines contain three integers each, Ai,Bi,CiA_{i},B_{i},C_{i} , the coefficients of the equation that determines the road ( Ai,Bi,Ci<=105|A_{i}|,|B_{i}|,|C_{i}|<=10^{5} , Ai2+Bi20A_{i}^{2}+B_{i}^{2}≠0 ).

It is guaranteed that no two roads coincide.

输出格式

If there is no solution, print "NO" in the single line (without the quotes).

Otherwise, print in the first line "YES" (without the quotes).

In the second line print a single number mm ( m<=km<=k ) — the number of used signs. In the next mm lines print the descriptions of their locations.

Description of a location of one sign is two integers v,uv,u . If uu and vv are two distinct integers between 11 and nn , we assume that sign is at the point of intersection of roads number vv and uu . If u=1u=-1 , and vv is an integer between 11 and nn , then the sign is on the road number vv in the point not lying on any other road. In any other case the description of a sign will be assumed invalid and your answer will be considered incorrect. In case if v=uv=u , or if vv and uu are the numbers of two non-intersecting roads, your answer will also be considered incorrect.

The roads are numbered starting from 11 in the order in which they follow in the input.

输入输出样例

  • 输入#1

    3 1
    1 0 0
    0 -1 0
    7 -93 0
    

    输出#1

    YES
    1
    1 2
    
  • 输入#2

    3 1
    1 0 0
    0 1 0
    1 1 3
    

    输出#2

    NO
    
  • 输入#3

    2 3
    3 4 5
    5 6 7
    

    输出#3

    YES
    2
    1 -1
    2 -1
    

说明/提示

Note that you do not have to minimize mm , but it shouldn't be more than kk .

In the first test all three roads intersect at point (0,0).

In the second test all three roads form a triangle and there is no way to place one sign so that it would stand on all three roads at once.

首页