eolymp
bolt
Try our new interface for solving problems

Key

Hackers often have to crack passwords for different data encryption systems. A novice hacker Bill faced such a problem one day. After performing several experiments he noticed regularity in the formation of an encryption key. He knew that a key is an odd integer \textbf{K}, such that \textbf{K ^2} does not divide (\textbf{K}-\textbf{1})\textbf{!} and its value is in the range \[\textbf{A}; \textbf{B}\] (\textbf{A} ≤ \textbf{K} ≤ \textbf{B}). Note, that (\textbf{K}-\textbf{1})\textbf{!} = (\textbf{K}-1\textbf{)}*(\textbf{K}-\textbf{2})*...*\textbf{2}*\textbf{1}). He was not able to advance further due to his poor mathematics. To help young hacker you have to find all possible values of the key. \InputFile Input consists of two integers \textbf{A} and \textbf{B} (\textbf{3} ≤ \textbf{A} < \textbf{B} ≤ \textbf{10^18}^\{ \}, \textbf{B} - \textbf{A} ≤ \textbf{100}). \OutputFile Your program has to print to a single line of output all possible values of key \textbf{K} in ascending order divided by a single space. It is guaranteed that there is at least one key in the range. Key values are output in ascending order.
Time limit 1 second
Memory limit 64 MiB
Input example #1
3 100
Output example #1
3 5 7 9 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97