#PCBBAY0000055. Biểu diễn hexadecimal của float (Hexadecimal Float Representation)

Biểu diễn hexadecimal của float (Hexadecimal Float Representation)

Hexadecimal Float Representation

Version: Phuoc Hung OJ Extended

Problem Statement

Given a real number xx parsed as Python 3 float, output exactly the hexadecimal representation of the stored value returned by x.hex(). The representation contains an optional sign, the 0x prefix, a hexadecimal significand and a binary exponent following p.

Input

The only line contains finite real number xx, parsed as Python 3 float.

Output

Print exactly the string returned by x.hex() on one line.

Subtasks

  • Subtask 1 (100 points): xx is a finite Python float.

Examples

Example 1

Input

0.5

Output

0x1.0000000000000p-1

Explanation. Since 0.5=1×2−10.5=1\times2^{-1}, x.hex() uses significand 0x1.0000000000000 and exponent p-1: 0x1.0000000000000p-1.

Example 2

Input

0.1

Output

0x1.999999999999ap-4

Explanation. The stored binary float is written with a hexadecimal significand and a base-2 exponent after p, producing 0x1.999999999999ap-4.

Example 3

Input

3.14159

Output

0x1.921f9f01b866ep+1

Explanation. The stored binary float is written with a hexadecimal significand and a base-2 exponent after p, producing 0x1.921f9f01b866ep+1.