1. 程式人生 > >Yet Another Ball Problem

Yet Another Ball Problem

lines file ever spec data include ash const for

Yet Another Ball Problem time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standard output

The king of Berland organizes a ball! nn pair are invited to the ball, they are numbered from 11 to nn . Each pair consists of one man and one woman. Each dancer (either man or woman) has a monochrome costume. The color of each costume is represented by an integer from

11 to kk , inclusive.

Let bibi be the color of the man‘s costume and gigi be the color of the woman‘s costume in the ii -th pair. You have to choose a color for each dancer‘s costume (i.e. values b1,b2,,bnb1,b2,…,bn and g1,g2,gng1,g2,…gn ) in such a way that:

  1. for every
    ii : bibi and gigi are integers between 11 and kk , inclusive;
  2. there are no two completely identical pairs, i.e. no two indices i,ji,j (iji≠j ) such that bi=bjbi=bj and gi=gjgi=gj at the same time;
  3. there is no pair such that the color of the man‘s costume is the same as the color of the woman‘s costume in this pair, i.e.
    bigibi≠gi for every ii ;
  4. for each two consecutive (adjacent) pairs both man‘s costume colors and woman‘s costume colors differ, i.e. for every ii from 11 to n1n−1 the conditions bibi+1bi≠bi+1 and gigi+1gi≠gi+1 hold.

Let‘s take a look at the examples of bad and good color choosing (for n=4n=4 and k=3k=3 , man is the first in a pair and woman is the second):

Bad color choosing:

  • (1,2)(1,2) , (2,3)(2,3) , (3,2)(3,2) , (1,2)(1,2) — contradiction with the second rule (there are equal pairs);
  • (2,3)(2,3) , (1,1)(1,1) , (3,2)(3,2) , (1,3)(1,3) — contradiction with the third rule (there is a pair with costumes of the same color);
  • (1,2)(1,2) , (2,3)(2,3) , (1,3)(1,3) , (2,1)(2,1) — contradiction with the fourth rule (there are two consecutive pairs such that colors of costumes of men/women are the same).

Good color choosing:

  • (1,2)(1,2) , (2,1)(2,1) , (1,3)(1,3) , (3,1)(3,1) ;
  • (1,2)(1,2) , (3,1)(3,1) , (2,3)(2,3) , (3,2)(3,2) ;
  • (3,1)(3,1) , (1,2)(1,2) , (2,3)(2,3) , (3,2)(3,2) .

You have to find any suitable color choosing or say that no suitable choosing exists.

Input

The only line of the input contains two integers nn and kk (2n,k21052≤n,k≤2⋅105 ) — the number of pairs and the number of colors.

Output

If it is impossible to find any suitable colors choosing, print "NO".

Otherwise print "YES" and then the colors of the costumes of pairs in the next nn lines. The ii -th line should contain two integers bibi and gigi — colors of costumes of man and woman in the ii -th pair, respectively.

You can print each letter in any case (upper or lower). For example, "YeS", "no" and "yES" are all acceptable.

Examples Input Copy
4 3
Output Copy
YES
3 1
1 3
3 2
2 3
Input Copy
10 4
Output Copy
YES
2 1
1 3
4 2
3 4
4 3
3 2
2 4
4 1
1 4
3 1
Input Copy
13 4
Output Copy
NO
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 #define ll long long
 4 int main(int argc, char const *argv[])
 5 {
 6     ll n,k;
 7     cin>>n>>k;
 8     if(n>k*(k-1)) cout<<"NO\n"<<endl;
 9     else{
10         cout<<"YES\n"<<endl;
11         int cnt=0;
12         for( ll i=1; i<=k; i++ ){
13             for( ll j=i+1; j<=k; j++ ){
14                 cout<<i<<" "<<j<<endl;
15                 cnt++;
16                 if(cnt>=n) return 0;
17                 cout<<j<<" "<<i<<endl;
18                 cnt++;
19                 if(cnt>=n) return 0;
20             }
21         }
22     }
23     return 0;
24 }

Yet Another Ball Problem