Educational Codeforces Round 51 (Rated for Div. 2).B. Relatively Prime Pairs(水题)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/XxxxxM1/article/details/82799769

B. Relatively Prime Pairs

time limit per test

2 seconds

memory limit per test

256 megabytes

input

standard input

output

standard output

You are given a set of all integers from ll to rr inclusive, l<rl<r, (r−l+1)≤3⋅105(r−l+1)≤3⋅105 and (r−l)(r−l) is always odd.

You want to split these numbers into exactly r−l+12r−l+12 pairs in such a way that for each pair (i,j)(i,j) the greatest common divisor of ii and jj is equal to 11. Each number should appear in exactly one of the pairs.

Print the resulting pairs or output that no solution exists. If there are multiple solutions, print any of them.

Input

The only line contains two integers ll and rr (1≤l<r≤10181≤l<r≤1018, r−l+1≤3⋅105r−l+1≤3⋅105, (r−l)(r−l) is odd).

Output

If any solution exists, print "YES" in the first line. Each of the next r−l+12r−l+12 lines should contain some pair of integers. GCD of numbers in each pair should be equal to 11. All (r−l+1)(r−l+1) numbers should be pairwise distinct and should have values from ll to rr inclusive.

If there are multiple solutions, print any of them.

If there exists no solution, print "NO".

Example

input

Copy

1 8

output

Copy

YES
2 7
4 1
3 8
6 5
#include<bits/stdc++.h>
using namespace std;
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    long long l,r;
    while(cin>>l>>r)
    {
        cout<<"YES"<<endl;
        for(long long i=l;i<=r;i+=2){
            cout<<i<<' '<<i+1<<endl;
        }
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/XxxxxM1/article/details/82799769