Napisz program, który dla różnych par wartości N i P wykonuje rotację i oblicza powstałą liczbę.
Dane wejściowe
Pierwszy wiersz danych zawiera liczbę całkowitą Z oznaczającą ilość par liczb do wczytania (1 ≤ Z ≤ 1000). Każdy z kolejnych Z wierszy zawiera dwie liczby N i P (2 ≤ N ≤ 2000000000, 1 ≤ P ≤ 1000), oddzielone pojedynczym odstępem.
Wynik programu
Program powinien dla każdej wczytanej pary wypisać wiersz tekstu zawierający uzyskaną liczbę w postaci dziesiętnej.
Przykładowy rezultat
Dla danych wejściowych:
3
19 2
19 3
19 4
program powinien wypisać:
28
14
7
Zadaną liczbę naturalną N zamieniamy na postać dwójkową i wpisujemy jej cyfry na obwodzie koła (zgodnie z ruchem wskazówek zegara, pierwsza cyfra na górze). Dla przykładu weźmy liczbę 19 (dwójkowo: 10011).
Teraz obracamy koło zgodnie z ruchem wskazówek zegara o wybrana ilość pozycji (P) i odczytujemy powstałą liczbę (począwszy od pierwszej cyfry na górze koła). Na przykład dla P = 2 otrzymujemy:
liczbę dwójkową 11100, czyli 28 dziesiętnie.