#!/usr/bin/env python3
input_text = """12
····
VAR I
·FOR I=1 TO 31
»»»»IF !(I MOD 3) THEN
··PRINT "FIZZ"
··»»ENDIF
»»»»····IF !(I MOD 5) THEN
»»»»··PRINT "BUZZ"
··»»»»»»ENDIF
»»»»IF (I MOD 3) && (I MOD 5) THEN
······PRINT "FIZZBUZZ"
··»»ENDIF
»»»»·NEXT"""
if __name__ == "__main__" :
split_input = input_text.split ( '\n ' )
no_lines = int ( split_input[ 0 ] )
indent = split_input[ 1 ]
level = 0
stack = [ ]
for line in split_input[ 2 :] :
line = line.strip ( '·»' )
if line.startswith ( 'NEXT' ) :
if not stack.pop ( ) .startswith ( 'FOR' ) :
print ( 'Error on line "' + line + '", no matching FOR' )
break
level -= 1
elif line.startswith ( 'ENDIF' ) :
if not stack.pop ( ) .startswith ( 'IF' ) :
print ( 'Error on line "' + line + '", no matching IF' )
break
level -= 1
print ( level * indent + line)
if line.startswith ( 'FOR' ) or line.startswith ( 'IF' ) :
stack.append ( line)
level += 1
while not len ( stack) == 0 :
print ( 'Missing End-Statement for "' + stack.pop ( ) + '"' )
IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwoKaW5wdXRfdGV4dCA9ICIiIjEyCsK3wrfCt8K3ClZBUiBJCsK3Rk9SIEk9MSBUTyAzMQrCu8K7wrvCu0lGICEoSSBNT0QgMykgVEhFTgrCt8K3UFJJTlQgIkZJWloiCsK3wrfCu8K7RU5ESUYKwrvCu8K7wrvCt8K3wrfCt0lGICEoSSBNT0QgNSkgVEhFTgrCu8K7wrvCu8K3wrdQUklOVCAiQlVaWiIKwrfCt8K7wrvCu8K7wrvCu0VORElGCsK7wrvCu8K7SUYgKEkgTU9EIDMpICYmIChJIE1PRCA1KSBUSEVOCsK3wrfCt8K3wrfCt1BSSU5UICJGSVpaQlVaWiIKwrfCt8K7wrtFTkRJRgrCu8K7wrvCu8K3TkVYVCIiIgoKaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgIHNwbGl0X2lucHV0ID0gaW5wdXRfdGV4dC5zcGxpdCgnXG4nKQogICAgbm9fbGluZXMgPSBpbnQoc3BsaXRfaW5wdXRbMF0pCiAgICBpbmRlbnQgPSBzcGxpdF9pbnB1dFsxXQogICAgbGV2ZWwgPSAwCiAgICBzdGFjayA9IFtdCiAgICBmb3IgbGluZSBpbiBzcGxpdF9pbnB1dFsyOl06CiAgICAgICAgbGluZSA9IGxpbmUuc3RyaXAoJ8K3wrsnKQogICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgnTkVYVCcpOiAKICAgICAgICAgICAgaWYgbm90IHN0YWNrLnBvcCgpLnN0YXJ0c3dpdGgoJ0ZPUicpOgogICAgICAgICAgICAgICAgcHJpbnQoJ0Vycm9yIG9uIGxpbmUgIicgKyBsaW5lICsgJyIsIG5vIG1hdGNoaW5nIEZPUicpCiAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICBsZXZlbCAtPSAxCiAgICAgICAgZWxpZiBsaW5lLnN0YXJ0c3dpdGgoJ0VORElGJyk6CiAgICAgICAgICAgIGlmIG5vdCBzdGFjay5wb3AoKS5zdGFydHN3aXRoKCdJRicpOgogICAgICAgICAgICAgICAgcHJpbnQoJ0Vycm9yIG9uIGxpbmUgIicgKyBsaW5lICsgJyIsIG5vIG1hdGNoaW5nIElGJykKICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgIGxldmVsIC09IDEKICAgICAgICBwcmludChsZXZlbCAqIGluZGVudCArIGxpbmUpCiAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCdGT1InKSBvciBsaW5lLnN0YXJ0c3dpdGgoJ0lGJyk6CiAgICAgICAgICAgIHN0YWNrLmFwcGVuZChsaW5lKQogICAgICAgICAgICBsZXZlbCArPSAxIAogICAgd2hpbGUgbm90IGxlbihzdGFjaykgPT0gMDoKICAgICAgICBwcmludCgnTWlzc2luZyBFbmQtU3RhdGVtZW50IGZvciAiJyArIHN0YWNrLnBvcCgpICsgJyInKQo=