codeforces1051B——Relatively Prime Pairs【思维,数学】

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

问在区间【R,L】内有多少对数互为质数。

一个数和他相邻的数一定是互为质数,枚举即可。

#include <bits/stdc++.h>
using namespace std;
int main(){
    long long l,r;
    while(~scanf("%lld %lld",&l,&r)){
        cout << "YES" << endl;
        for(;l < r; l += 2){
            cout << l << " " << l + 1 << endl;
        }
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/xiang_hehe/article/details/82961982
今日推荐