题库练习 Unary
← 上一题 下一题 →

A8301 | Unary

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

Unary is a minimalistic Brainfuck dialect in which programs are written using only one token.

Brainfuck programs use 8 commands: "+", "-", "\[", "\]", "<", ">", "." and "," (their meaning is not important for the purposes of this problem). Unary programs are created from Brainfuck programs using the following algorithm. First, replace each command with a corresponding binary code, using the following conversion table:

- ">" $→$ 1000,
- "<" $→$ 1001,
- "+" $→$ 1010,
- "-" $→$ 1011,
- "." $→$ 1100,
- "," $→$ 1101,
- "\[" $→$ 1110,
- "\]" $→$ 1111.

Next, concatenate the resulting binary codes into one binary number in the same order as in the program. Finally, write this number using unary numeral system — this is the Unary program equivalent to the original Brainfuck one.

You are given a Brainfuck program. Your task is to calculate the size of the equivalent Unary program, and print it modulo $1000003$ $(10^{6}+3)$ .

输入格式

The input will consist of a single line $p$ which gives a Brainfuck program. String $p$ will contain between 1 and 100 characters, inclusive. Each character of $p$ will be "+", "-", "\[", "\]", "<", ">", "." or ",".

输出格式

Output the size of the equivalent Unary program modulo $1000003$ $(10^{6}+3)$ .

输入输出样例

输入 #1
,.
输出 #1
220
输入 #2
++++[>,.<-]
输出 #2
61425
C++ 编辑器
输入
输出