COCI 2007/2008, Contest #3

Task OKTALNI

Slavko is learning about different numeral systems. Slavko is not the brightest when it comes to math, so he is starting out converting binary numerals to octal. The algorithm Slavko uses is this:

  • Pad the binary numeral with zeros on the left until the number of digits is divisible by three.
  • Group adjacent binary digits into groups of 3 digits.
  • Replace each group of binary digits with the corresponding octal digit (as in the table on the right).

Write a program that converts a binary numeral to octal so that Slavko can verify his results.

0000
0011
0102
0113
1004
1015
1106
1117

Input

The input contains a binary numeral. The number of digits will be less than 100, and the first digit will be 1.

Output

Output the number in octal.

Examples

Input

1010

Output

12

Input

11001100

Output

314

All Submissions
Best Solutions


Point Value: 3
Time Limit: 1.00s
Memory Limit: 32M
Added: Jul 30, 2013

Languages Allowed:
C++03, PAS, C, HASK, ASM, RUBY, PYTH2, JAVA, PHP, SCM, CAML, PERL, C#, C++11, PYTH3

Comments (Search)


An important skill in computer science is the ability to create your own test cases, and verify your solution.

Do some testing of your own. Create some inputs, figure out what the output should be, then run it on your code. You will want to ensure that every possible case is covered.

My code works fine, however I get 0 on the test cases. I am a bit confused because the problem seems simple enough, and I tested many different numbers and the program works. Is there something I am missing from the question?

Hope it's not too late, but I solved this issue (in Python) by using input().strip() instead of only input().

I ended up solving the problem by converting the input into base 10, and then to base 8. However, I got my old code that was done by using the method given in the question, and I added .strip() to the end, and it did work! Thanks anyway, and it really was a strange issue.

In case you're curious, here's your exact error output:

Traceback (most recent call last):
File "./a", line 7, in <module>
x=y+x
TypeError: cannot concatenate 'str' and 'list' objects

same thing here o.o my code worked when i used raw_input().strip() instead of raw_input()
is there a reason to why this is?

There are carriage returns ('\r') in the input.