human
A flea is sitting at one of the n hassocks, arranged in a circle, at the moment. After minute number k the flea jumps through k - 1 hassoсks (clockwise). For example, after the first minute the flea jumps to the neighboring hassock. You should answer: will the flea visit all the hassocks or not. We assume that flea has infinitely much time for this jumping.

Input

The only line contains single integer: 1 ≤ n ≤ 1000 — number of hassocks.

Output

Output "YES" if all the hassocks will be visited and "NO" otherwise.

Examples

Input

1

Output

YES

Input

3

Output

NO
The above is tricky. Write me a correct solution in PYTHON3.
assistant
#Here is the Python program you requested.

# AC
import sys

class Main:
    def __init__(self):
        self.buff = None
        self.index = 0

    def next(self):
        if self.buff is None or self.index == len(self.buff):
            self.buff = self.next_line()
            self.index = 0
        val = self.buff[self.index]
        self.index += 1
        return val

    def next_line(self):
        return sys.stdin.readline().split()

    def next_ints(self):
        return [int(x) for x in sys.stdin.readline().split()]

    def next_int(self):
        return int(self.next())

    def solve(self):
        n = self.next_int()
        p, t = 0, 1
        r = set()
        s = set()
        r.add(p)
        while (p, t) not in s:
            s.add((p, t))
            p = (p + t) % n
            t = (t + 1) % n
            r.add(p)
        print('YES' if n == len(r) else 'NO')

if __name__ == '__main__':
    Main().solve()