CF1618F.Reverse
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given two positive integers x and y . You can perform the following operation with x : write it in its binary form without leading zeros, add 0 or 1 to the right of it, reverse the binary form and turn it into a decimal number which is assigned as the new value of x .
For example:
- 34 can be turned into 81 via one operation: the binary form of 34 is 100010 , if you add 1 , reverse it and remove leading zeros, you will get 1010001 , which is the binary form of 81 .
- 34 can be turned into 17 via one operation: the binary form of 34 is 100010 , if you add 0 , reverse it and remove leading zeros, you will get 10001 , which is the binary form of 17 .
- 81 can be turned into 69 via one operation: the binary form of 81 is 1010001 , if you add 0 , reverse it and remove leading zeros, you will get 1000101 , which is the binary form of 69 .
- 34 can be turned into 69 via two operations: first you turn 34 into 81 and then 81 into 69 .
Your task is to find out whether x can be turned into y after a certain number of operations (possibly zero).
输入格式
The only line of the input contains two integers x and y ( 1≤x,y≤1018 ).
输出格式
Print YES if you can make x equal to y and NO if you can't.
输入输出样例
输入#1
3 3
输出#1
YES
输入#2
7 4
输出#2
NO
输入#3
2 8
输出#3
NO
输入#4
34 69
输出#4
YES
输入#5
8935891487501725 71487131900013807
输出#5
YES
说明/提示
In the first example, you don't even need to do anything.
The fourth example is described in the statement.