B : 互质

Progress Bar

时间限制:2 Sec 内存限制:256 MiB

提交


题目描述

程序媛Ty在写代码的时候遇到一个难题,就是她现在需要处理一组所有从l到r的整数( l < r, (r - l + 1)  3 * 10),并且保证 ( r - l ) 为奇数。

她希望将这些数字精确的分割成(r-l+1)/2对,并且对于每对数(i, j),i 和 j 的最大公因数等于1。每个数字应该正好出现在一对中。

现在请你来写程序帮助Ty完成这件事,打印出结果种的每一对(i, j)或者不存在解决方案。如果有多个解决方案,请输出其中任意一种即可。

rl+12

输入描述

输入一行两个整数 l, r (1 l < r ≤ 1018 , r - l + 1 ≤ 3*105),并且 (r - l)总是奇数。

输出描述

如果有解决方案,在第一行输出 "YES" ,然后在接下来的 (r-l+1)/2 行输出一对整数,要求每一行两个整数的最大公因数必须为等于1,所有的 (r-l+1) 个数应该是两两相异的,并且每个数应该取自于[l, r]这个区间。

如果有多种解决方案,请输出任意一种即可。

如果没有解决方案,只需要输出一行"NO"。

样例输入

1 8

样例输出

YES
2 7
4 1
3 8
6 5