#C1675. Reverse Bits

    ID: 44906 Type: Default 1000ms 256MiB

Reverse Bits

Reverse Bits

Given a 32-bit unsigned integer \(n\), your task is to reverse its binary bits and output the resulting unsigned integer. Specifically, if the binary representation of \(n\) is \(b_{31} b_{30} \ldots b_0\), you should produce the number represented by \(b_0 b_1 \ldots b_{31}\).

Example:

  • Input: 5 (which is \(00000000000000000000000000000101\) in binary)
  • Output: 2684354560 (which is \(10100000000000000000000000000000\) in binary)

You need to implement this efficiently using bit manipulation techniques.

inputFormat

The input is provided via standard input (stdin) and consists of one line containing a single unsigned 32-bit integer \(n\).

outputFormat

Output via standard output (stdout) a single unsigned integer which is obtained by reversing the bits of \(n\).

## sample
5
2684354560