Zadanie : kod-graya-1b
Zadanie

W przetwornikach analogowo-cyfrowych, takich jak np. czujniki położenia, czy obrotu, stosuje się kody Graya. Kod Graya jest kodem dwójkowym, w którym dwa kolejne słowa kodowe tej samej długości różnią się stanem tylko jednego bitu.

Poniżej podane są wszystkie słowa kodowe długości 3:

numer 	kod
-----------
0	000
1	001
2	011
3	010
4	110
5	111
6	101
7	100

Kod Graya 1011 ma przypisany numer 13. Numer ten uzyskuje się w następujący sposób:

1. Za pierwszy bit numeru przyjmij pierwszy bit kodu Graya: n:=1
2. Bit drugi uzyskamy wykonując operacje xor na ostatnio otrzymanym
   bicie (czyli 1) i drugim bicie kodu Graya 1011: n:=1(1 xor 0)=11
3. Bit trzeci uzyskamy podobnie wykonując operacje xor na ostatnio
   otrzymanym bicie (czyli 1) i trzecim bicie kodu Graya 1011: n:=11(1 xor 1)=110
3. Bit czwarty uzyskamy podobnie wykonując operacje xor na ostatnio
   otrzymanym bicie (czyli 0) i czwartym bicie kodu Graya 1011: n:=110(0 xor 1)=1101
4. Otrzymana liczba dwójkowa n=1101 jest równa 13.

Napisz program, który dla podanego kodu Graya wyznaczy numer tego kodu.

Wejście

Pierwszy wiersz wejścia zawiera kod Graya o maksymalnej długości 30 znaków.

Wyjście

Pierwszy wiersz wyjścia powinien zawierać obliczony numer kodu Graya.

Przykład

Dla danych podanych na wejściu:

0

Poprawną odpowiedzią jest wyjście:

0

Jeśli chcesz zobaczyć inny przykład odśwież tę stronę klawiszem F5

Opcje zadania:

Biblioteki         : iostream iomanip cmath string 
Limit czasu        : 0.1 s
Limit pamięci      : 32 MB
Słowa niedozwolone :