Eseguire spostamenti a livello di bit

Ti viene fornito un intero n (in base 10) e una stringa left o right che indica la direzione dello spostamento a livello di bit. Inoltre, ricevi anche un intero k che specifica il numero di posizioni di cui n deve essere spostato.
💡
Ad esempio, se spostiamo a sinistra l’intero 3 (11 in binario) di 1 posizione, diventa 110, che corrisponde a 6 in base 10.
In modo analogo, se spostiamo a destra l’intero 4 (100 in binario) di 2 posizioni, diventa 1, che corrisponde a 1 in base 10.
Scrivi un programma che stampi il risultato dopo aver eseguito l’operazione di spostamento a livello di bit.

Input

La prima riga contiene un singolo intero n (0 ≤ n ≤ ).
La seconda riga contiene una stringa, left o right, che indica la direzione dello spostamento.
La terza riga contiene un singolo intero k (0 ≤ k ≤ 16).

Output

Il numero n dopo aver eseguito l’operazione di spostamento a livello di bit.

Examples

Input
Output
3 left 2
12
5 right 1
2

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue