# 啊！

"啊！" is a Esolang same as "Ook!".

The founders of the "Ook!" thought that the programming language could even be learned by orangutans, so they didn't open up the comment function.

If you wanna learn "啊！", you must learn Brainf*ck.

### The syntax

"啊！" has only THREE SYMBOLS (but 8 commands): "啊。", "啊？" and "啊！".

Caption text

So, a 啊！ program needs even number(such as 2, 4, 6 or 8) "啊！"'s.

### Programs

Hello, world

```啊。啊。啊。啊。啊。啊。啊。啊。

```

A+B problem

```Too long and it is only support 1-digit addition. See more version at 啊！/A+B Problem.
```

Do nothing

```啊？啊？
```

99 bottles of beers

```QUITE LONG. SEE SHA512 AT 啊！/99 bottles of beer.
```

## Interpreter

Here is a Python interpreter.

### Python

```import sys,io
def bf(code):
s=[]
matches={}
tape=[0]*1000000
for i,j in enumerate(code):
if j=='[':
s.append(i)
if j==']':
m=s.pop()
matches[m]=i
matches[i]=m
cp=0
p=0
while cp<len(code):
if code[cp]=='+':
tape[p]=(tape[p]+1)%256
if code[cp]=='-':
tape[p]=(tape[p]-1)%256
if code[cp]==',':
tape[p]=(ord(c) if c else 0)%256
if code[cp]=='.':
print(chr(tape[p]),end='')
if code[cp]=='<':
p-=1
if code[cp]=='>':
p+=1
if code[cp]=='[':
if not tape[p]:
cp=matches[cp]
if code[cp]==']':
if tape[p]:
cp=matches[cp]
if code[cp]=='0':
pass
cp+=1
tobf_dict={'啊。啊？': '>', '啊？啊。': '<', '啊。啊。': '+', '啊！啊！': '-', '啊。啊！': ',', '啊！啊。': '.', '啊！啊？': '[', '啊？啊！': ']', '啊？啊？': '0'}
stream=io.StringIO(code)
bf_program=''
cmd=''
while 1: