Problem:


ランレングス

文字列が連続した場合、ある規則で文字を置き換え文字列を短くすることができます。たとえば、AAAA という文字列の場合、@4A と表現すれば 1 文字分圧縮されます。この規則で圧縮された文字列を入力してもとの文字列に復元するプログラムを作成してください。ただし、復元した文字列に＠文字は出現しないものとします。

また、原文の文字列は英大文字、英小文字、数字、記号であり 100 文字以内、連続する文字は 9 文字以内です。

入力

複数の文字列が与えられます。１行に１つの文字列が与えられます。文字列の数は 50 を超えません。

出力

文字列ごとに、各文字に対して復元した文字列を１行に出力して下さい。

Sample Input

ab@5C1@8050
@99+1=1@90

Output for the Sample Input

abCCCCC10000000050
999999999+1=1000000000



Sample input:
ab@5C1@8050
@99+1=1@90


Sample output:
abCCCCC10000000050
999999999+1=1000000000

Submission status: WA: Presentation Error

Solution code:
import re
import sys
for s in sys.stdin:
    print(re.sub(r"@(\d)(.)", lambda m: m.group(2)*int(m.group(1)), s))

Submission status: WA: Presentation Error

Solution code:
import sys


def method(l):
    return l if l.find('@') < 0 else method(l.replace(l[l.find('@'):l.find('@')+3], l[l.find('@')+2]*int(l[l.find('@')+1])))

if __name__ == '__main__':
    for line in sys.stdin:
        print(method(line))

Submission status: WA: Presentation Error

Solution code:
import sys


def method(l):
    idx = l.find('@')
    return l if idx < 0 else method(l.replace(l[idx:idx+3], l[idx+2]*int(l[idx+1])))

if __name__ == '__main__':

    for line in sys.stdin:
        print(method(line))

Submission status: WA: Presentation Error

Solution code:
import sys


def method(l):
    idx = l.find('@')
    return l if idx < 0 else method(l.replace(l[idx:idx+3], l[idx+2]*int(l[idx+1])))

for line in sys.stdin:
    print(method(line))

Submission status: WA: Presentation Error

Solution code:
import sys
for e in sys.stdin:
 a='';b=n=0
 for c in e:
  if'@'==c:b=1
  elif b&1:n=int(c);b=2
  elif b&2:a+=c*n;b=0
  else:a+=c
 print(a)

Submission status: WA: Presentation Error

Solution code:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from __future__ import (division, absolute_import, print_function,
                        unicode_literals)
from sys import stdin

li = []
for line in stdin:
    compress = False
    num = 1
    for c in line:
        if c == '@':
            compress = True
        elif compress:
            compress = False
            num = int(c)
        else:
            li.append(c * num)
            num = 1
print(''.join(li))

Submission status: WA: Presentation Error

Solution code:
import re,sys

for s in sys.stdin:
	l = re.split('(@.{2})',s)
	for s in l:
		if '@' in s:
			s = s[2] * int(s[1])
		print s,

Submission status: WA: Presentation Error

Solution code:
import sys
for inp in sys.stdin:
    i, msg = 0, ""
    while i < len(inp):
        if inp[i] == "@":
            msg += inp[i+2]*int(inp[i+1])
            i += 3
        else:
            msg += inp[i]
            i += 1
    print msg