Brainfuck your web browser
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.html 44KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  5. <title>Brainfuck your web browser</title>
  6. <script>
  7. function BrainFuckWeb()
  8. {
  9. var bfCode = document.body.innerHTML.replace(/^.*<!--/,'').replace(/-->[^>]*$/,'');
  10. document.body.innerHTML = ""
  11. //document.body.parentNode.removeChild(document.body);
  12. var body = document.createElement("body");
  13. var memArr = [0]
  14. var loopStack = []
  15. var bfStateSTack = []
  16. var inputBuffer = ""
  17. var writeBuff = ""
  18. var lineno = 0
  19. var charno = 0
  20. var arrpos = 0
  21. var bfCodePos = 0
  22. var i=0;
  23. while(bfCodePos < bfCode.length)
  24. {
  25. //if(i%10 == 0) { console.log("debut '"+bfCode[bfCodePos]+"'") }
  26. exec = true;
  27. switch(bfCode[bfCodePos])
  28. {
  29. case '+':
  30. memArr[arrpos]++;
  31. break;
  32. case '-':
  33. memArr[arrpos]-=1;
  34. break;
  35. case ',':
  36. if(inputBuffer.lenght == 0)
  37. inputBuffer = window.prompt("Input:","d");
  38. break;
  39. case '.':
  40. /*writeBuff += encodeURIComponent( String.fromCharCode(memArr[arrpos]))
  41. document.body.innerHTML = unescape(writeBuff)*/
  42. writeBuff += String.fromCharCode(memArr[arrpos])
  43. document.body.innerHTML = writeBuff
  44. break;
  45. case '<':
  46. case 'v':
  47. if(arrpos == 0)
  48. {
  49. memArr.unshift[0]
  50. }
  51. else
  52. {
  53. arrpos--;
  54. }
  55. break;
  56. case '>':
  57. case '^':
  58. arrpos++;
  59. if(arrpos >= memArr.length)
  60. {
  61. memArr.push(0);
  62. }
  63. break;
  64. case '[':
  65. loopStack.push(bfCodePos);
  66. bfStateSTack.push([lineno, charno]);
  67. break;
  68. case ']':
  69. //console.log("memArr["+arrpos+"]="+memArr[arrpos])
  70. tmpPos = loopStack.pop() - 1;
  71. bfStateSTack.pop([lineno, charno]);
  72. if(memArr[arrpos] != 0)
  73. {
  74. bfCodePos = tmpPos
  75. }
  76. break;
  77. case '\n':
  78. lineno++;
  79. charno = -1;
  80. case ' ':
  81. case '\t':
  82. exec = false
  83. break;
  84. default:
  85. alert(lineno+':'+charno+':\tBrain Fucking Error : Unknow char \'0x'+bfCode.charCodeAt(bfCodePos).toString(16)+'\'');
  86. }
  87. /*
  88. if( (i%100 == 0) || (memArr[1] == 0) ) {
  89. console.log("Executed : "+bfCode[bfCodePos])
  90. console.log("\tmem="+memArr+"\n\tarrpos="+arrpos+"\n\tbfCodePos="+bfCodePos+"\n\tloopStack:"+loopStack)
  91. console.log("########################################################")
  92. }
  93. */
  94. charno++;
  95. bfCodePos++;
  96. //if(i==10000) { alert("killed"); return }
  97. i++;
  98. }
  99. /*
  100. if(loopStack.length > 0)
  101. {
  102. for(var lct = 0; lct < bfStateSTack.length; lct++)
  103. {
  104. alert(bfStateSTack[lct][0]+':'+bfStateSTack[lct][1]+':\tBrain Fucking Warning : Unclosed loop, \']\' not found');
  105. }
  106. }
  107. */
  108. document.body.innerHTML = writeBuff;
  109. }
  110. </script>
  111. </head>
  112. <body onload="BrainFuckWeb()">^++++++++++++[^+++++[vv+^^-]v-]v.^+++++++++[^+++++[vv+^^-]v-]v-.^++++++++[^+++++++[vv-^^-]v-]v+.+++++++++++++.++++.^+++++++[^+++++++[vv+^^-]v-]v-.-----------------.++++++++.+++++.--------.+++++++++++++++.------------------.++++++++.^+++++++++++++++[^+++++[vv-^^-]v-]v.^++++++++[^+++++++++++[vv+^^-]v-]v+.----------.++++++.---.^+++++++++[^+++++++++[vv-^^-]v-]v-.^++++++++[^+++++++++++[vv+^^-]v-]v-.------------------.---.^++++++[^+++++++++++[vv-^^-]v-]v.^++++++[^+++++++++++[vv+^^-]v-]v.++++++++++++++++.---.++++++++.----.--------------.+++++++++++++.^+++++[^+++++++++++[vv-^^-]v-]v+.-------------.^++++++++[^+++++++[vv+^^-]v-]v+.^++++++++[^+++++++[vv-^^-]v-]v+.+++++++++++++.--.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.^+++++++[^+++++++[vv+^^-]v-]v+.^+++++++++[^+++++[vv+^^-]v-]v-.^+++++[^+++++++++++[vv-^^-]v-]v+.++++++++++++.+++++.^++++++++++++[^+++[vv+^^-]v-]v+.---.--.++++++++.++++.++++++.-.^++++++++++++[^+++++++[vv-^^-]v-]v.^++++++++++++[^+++++++[vv+^^-]v-]v-.----.++++++.---.---------------.++.++++++++++++++.^++++++++++++[^+++++++[vv-^^-]v-]v+.++++++++++++++++++++++++++.++.-------------.^++++++++[^+++++++[vv+^^-]v-]v+.^+++++[^+++++++++++[vv-^^-]v-]v+.++++++++++++.--.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.^+++++++[^+++++++[vv+^^-]v-]v+.^++++[^+++++++++++++[vv+^^-]v-]v.^+++++++[^+++++++[vv-^^-]v-]v-.--.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.^+++++++[^+++++++[vv+^^-]v-]v+.^++++++++[^+++++[vv+^^-]v-]v-.++++++++++++.-----------.+.^++++++++[^+++++[vv-^^-]v-]v+.--.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.^+++++++[^+++++++++++++[vv+^^-]v-]v+.+++++++++++++++.-------.-----------.+++++++++++++++++.-----------.++++++.-.^+++++++[^+++++++++++[vv-^^-]v-]v-.^+++++[^+++++++[vv+^^-]v-]v-.^+++++++[^+++++++[vv+^^-]v-]v-.-----------------.++++++++.+++++.^++++++++[^+++++[vv-^^-]v-]v.^++++++++++++++++[^+++[vv+^^-]v-]v-.------------------.++++++++.--------------------.++++++++++++++.---.^+++[^+++++++++++++++++++[vv-^^-]v-]v-.+.+++++++++++++++++++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.^++++++++++++++++[^+++++++[vv+^^-]v-]v+.^+++++++++[^+++++++[vv-^^-]v-]v.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-.^++++++++++[^+++++++++++[vv+^^-]v-]v-.---------------------.+++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.^++++++[^+++++++++++[vv+^^-]v-]v.++++.^+++++[^+++++++[vv-^^-]v-]v.^+++++++++[^+++++[vv+^^-]v-]v-.-----------.+.^++++++++++[^+++++++[vv-^^-]v-]v+.^++++++[^+++++[vv+^^-]v-]v-.^++++++[^+++++[vv-^^-]v-]v+.^++++[^+++++++++++++++++[vv+^^-]v-]v.+++++++++++.------------.++++++++++++++++++.--------.--------.+++++++++.++++++.^++++++++++[^+++++++[vv-^^-]v-]v.^++++[^+++++++++++++[vv+^^-]v-]v.+++++++++++++.-----------.+++++++++++++++++++++.^+++++++++++++++[^+++++[vv-^^-]v-]v.^++++++++++++[^+++++[vv+^^-]v-]v-.+++++..---------.+++++++++++++.^++++++[^+++++++[vv-^^-]v-]v.++++++++++++.-------.-.^++++++[^+++++[vv-^^-]v-]v.^++++[^+++++++++++++++++[vv+^^-]v-]v.-------------.+++++++++++.----.-----------.++.++.^++++++++++++[^+++++[vv-^^-]v-]v-.+++++++.^++++++++++++++++[^+++[vv+^^-]v-]v-.^+++++++[^+++++++[vv-^^-]v-]v+.----.++++++++++++++++++.^++++[^+++++++[vv-^^-]v-]v+.++++++++++++..++.---.-----..++.+++++.^++++[^+++++++++++++++++[vv+^^-]v-]v.-------------.+++++++++++.----.-----------.++.++.^++++++++++++[^+++++[vv-^^-]v-]v-.+++++++.--..+++++++++++++++++.^++++++[^+++++[vv+^^-]v-]v-.+++.^+++[^+++++++++++[vv-^^-]v-]v+.^++++++[^+++++[vv+^^-]v-]v+.^++++++++++[^+++++[vv-^^-]v-]v-.------.+++++++++++.---.-----..++.++++++++++++++++++.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-.^+++++++[^+++++++++++++[vv+^^-]v-]v.+++++++++++.------------.++++++++++++++++++.--------.--------.+++++++++.++++++.^++++++++++[^+++++++[vv-^^-]v-]v.^++++[^+++++++++++++[vv+^^-]v-]v.+++++++++++++.-----------.+++++++++++++++++++++.^+++++++++++++++[^+++++[vv-^^-]v-]v.^++++++++++++[^+++++[vv+^^-]v-]v-.+++++..---------.+++++++++++++.^++++++[^+++++++[vv-^^-]v-]v.++++++++++++.-------.-.^+++++++++[^+++++[vv-^^-]v-]v+.^++++++[^+++++[vv+^^-]v-]v-.^++++++[^+++++[vv-^^-]v-]v+.++..++++++++++++++++++++++++++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-.^++++++++++[^+++++++++++[vv+^^-]v-]v-.---------------------.+++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.^++++++[^+++++++++++[vv+^^-]v-]v.+++++++++++++.-----------.+++++++++++++++++++++.^++++++++[^+++++++++++[vv-^^-]v-]v-.^++++++[^+++++[vv+^^-]v-]v-.^++++++[^+++++[vv-^^-]v-]v+.^++++[^+++++++++++++++++[vv+^^-]v-]v.+++++++++++.------------.++++++++++++++++++.--------.--------.+++++++++.++++++.^++++++++++[^+++++++[vv-^^-]v-]v.^++++[^+++++++++++++[vv+^^-]v-]v+.+++++++++++++++.-------------.----.+++++++++++++++++++.---------------.^+++[^+++++++++++[vv-^^-]v-]v+.^++++++++[^+++++[vv+^^-]v-]v-.-------.++++++++.--------.+++++++++.++++++.^+++++++[^+++++++++++[vv-^^-]v-]v+.------.^+++++++++[^+++++++[vv+^^-]v-]v+.+++++++++++++.-----------.+++++++++++++++++++++.^++++++++[^+++++++++++[vv-^^-]v-]v+.+++++++.++++++++++++++++++.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-.^++++++++++[^+++++[vv+^^-]v-]v+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-.^++++++++++[^+++++++++++[vv+^^-]v-]v-.---------------------.+++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.^+++++++[^+++++++++++[vv+^^-]v-]v.--------.++++++++.^+++++++++[^+++++[vv-^^-]v-]v+.^+++++++[^+++++++[vv+^^-]v-]v..^+++++++++[^+++++++++[vv-^^-]v-]v-.^++++++[^+++++[vv+^^-]v-]v-.^++++++[^+++++[vv-^^-]v-]v+.^++++++++++++[^+++++[vv+^^-]v-]v-.^++++++[^+++++++[vv-^^-]v-]v-.^+++++++++[^+++++[vv+^^-]v-]v.^+++[^+++++++++++[vv-^^-]v-]v.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-.^++++++++++[^+++++++++++[vv+^^-]v-]v-.---------------------.+++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.^+++++++[^+++++++++++[vv+^^-]v-]v-.+++..+.^++++++[^+++++[vv-^^-]v-]v+.^+++[^+++++++++++[vv+^^-]v-]v.-------------------.++.++++++++.^+++++++++++++++[^+++++[vv-^^-]v-]v.^++++++[^+++++[vv+^^-]v-]v-.^++++++[^+++++[vv-^^-]v-]v+.^++++++++++++[^+++++[vv+^^-]v-]v-.++.^+++[^+++++++++++[vv-^^-]v-]v.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-.^++++++++++[^+++++++++++[vv+^^-]v-]v-.---------------------.+++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.^++++++[^+++++++++++[vv+^^-]v-]v.++++.-------------------.^+++[^+++++++++++[vv+^^-]v-]v.-------------------.+++++++++++++++++++.---------------.------------------.+.+++++++++++++.++.++++++++.^+++++++++++++++[^+++++[vv-^^-]v-]v.^++++++[^+++++[vv+^^-]v-]v-.^++++++[^+++++[vv-^^-]v-]v+.^++++++++++++[^+++++[vv+^^-]v-]v-.++.^+++[^+++++++++++[vv-^^-]v-]v.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-.^++++++++++[^+++++++++++[vv+^^-]v-]v-.---------------------.+++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.^++++++++[^+++++++++[vv+^^-]v-]v+.+++++.++.+++++.-.^+++++++[^+++++++[vv-^^-]v-]v-.^++++++++++[^+++++[vv+^^-]v-]v+.---------------..-.+++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.^++++++[^+++++[vv+^^-]v-]v-.^++++++[^+++++[vv-^^-]v-]v+.++..++++++++++++++++++++++++++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-.^++++++++++[^+++++++++++[vv+^^-]v-]v-.---------------------.+++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.^++++++++[^+++++++++++[vv+^^-]v-]v-.-----.---------.+++++++++++.---------------.^+++++[^+++++++[vv-^^-]v-]v.^++++++++++[^+++++[vv+^^-]v-]v+.---------------..^++++++++++[^+++++++[vv-^^-]v-]v.^++++++[^+++++[vv+^^-]v-]v-.^++++++[^+++++[vv-^^-]v-]v+.++..++++++++++++++++++++++++++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-.^++++++++++[^+++++[vv+^^-]v-]v+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-.^++++++++++[^+++++++++++[vv+^^-]v-]v-.---------------------.+++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.^+++++++[^+++++++++++[vv+^^-]v-]v-.---.+++++.---------.+++++++++.+.^++++++[^+++++++++++++[vv-^^-]v-]v-.^++++++[^+++++[vv+^^-]v-]v-.^++++++[^+++++[vv-^^-]v-]v+.++++++++++++++++.++++++++++++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-.^++++++++++[^+++++++++++[vv+^^-]v-]v-.---------------------.+++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.^++++++[^+++++++++++[vv+^^-]v-]v+.+++++.-------.+++++++++++++++++.----.+.^++++++[^+++++++++++++[vv-^^-]v-]v-.^++++++[^+++++[vv+^^-]v-]v-.^++++++[^+++++[vv-^^-]v-]v+.++++++++++++++++.++++++++++++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-.^++++++++++[^+++++++++++[vv+^^-]v-]v-.---------------------.+++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.^++++++[^+++++++++++[vv+^^-]v-]v-.+++++++++++++++++..--.-.++++.^++++++++++++[^+++++++[vv-^^-]v-]v+.^++++++[^+++++[vv+^^-]v-]v-.^++++++[^+++++[vv-^^-]v-]v+.++++++++++++++++.++++++++++++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-.^++++++++++[^+++++++++++[vv+^^-]v-]v-.---------------------.+++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.^++++++[^+++++++++++[vv+^^-]v-]v.++++.^+++++[^+++++++[vv-^^-]v-]v.^+++++++++[^+++++[vv+^^-]v-]v-.-----------.+.---------------------.^++++++[^+++++[vv+^^-]v-]v+.++++.^++++++++++++[^+++++++[vv-^^-]v-]v+.^++++++[^+++++[vv+^^-]v-]v-.^++++++[^+++++[vv-^^-]v-]v+.++++++++++++++++.++++++++++++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-.^++++++++++[^+++++[vv+^^-]v-]v+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-.^++++++++++[^+++++++++++[vv+^^-]v-]v-.---------------------.+++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.^++++++++[^+++++++++[vv+^^-]v-]v+.^+++++++++[^+++++[vv-^^-]v-]v+.-------------.+++++++++++.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-.^++++++++++[^+++++[vv+^^-]v-]v+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-.^++++++++++[^+++++++++++[vv+^^-]v-]v.---------------.+.+++.-------.^++++++++++++[^+++++[vv-^^-]v-]v-.^+++[^+++++++++++++++++++[vv+^^-]v-]v+.++++.^+++++[^+++++++[vv-^^-]v-]v.^+++++++++[^+++++[vv+^^-]v-]v-.-----------.+.---------------------.^++++++[^+++++[vv+^^-]v-]v+.++++.^++++++++++++[^+++++++[vv-^^-]v-]v+.^++++[^+++++++[vv+^^-]v-]v.^++++[^+++++++[vv-^^-]v-]v.^++++++[^+++++++++++[vv+^^-]v-]v.++++.^+++++[^+++++++[vv-^^-]v-]v.^+++++++++[^+++++[vv+^^-]v-]v-.-----------.+.^++++++++[^+++++++[vv-^^-]v-]v+.^+++++++++[^+++++++[vv+^^-]v-]v-.-------.+++++++++.-------.+++++++++++++.------------.^+++++++++[^+++++++[vv-^^-]v-]v.+++++++++++++++++++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-.^++++++[^+++++++++++++++++++[vv+^^-]v-]v.^+++++++++[^+++++++[vv-^^-]v-]v.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-..^+++++++[^+++++++++++++[vv+^^-]v-]v+.+++++++++++++++++++.-------------------.--.^++++++[^+++++++++++[vv-^^-]v-]v-.^++++++[^+++++[vv+^^-]v-]v-.^++++++[^+++++[vv-^^-]v-]v+.^++++++++++++[^+++++++[vv+^^-]v-]v.--.+++.----------------.^++++++[^+++++++[vv-^^-]v-]v.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-..^+++++++++++++++[^+++++++[vv+^^-]v-]v+.++++.--------------.+++++++++++.-----------------.+++++.^+++++++++[^+++++++[vv-^^-]v-]v-.^+++[^+++++++++++++++++++[vv+^^-]v-]v+.++++.^+++++[^+++++++[vv-^^-]v-]v.^+++++++++[^+++++[vv+^^-]v-]v-.-----------.+.----------.+++++++.++++.^+++++[^+++++++[vv-^^-]v-]v.^+++++++++[^+++++[vv+^^-]v-]v-.-----------.+.---------------------.^++++++[^+++++[vv+^^-]v-]v+.++++.----------------------.^++++[^+++++++++++++[vv-^^-]v-]v.+++++++++++++++++++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-..^++++++[^+++++++++++++++++++[vv+^^-]v-]v.^+++++++++[^+++++++[vv-^^-]v-]v.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-...^+++++++[^+++++++++++++[vv+^^-]v-]v-.--.++++++++++++++++++.--------------.^++++++++++[^+++++++[vv-^^-]v-]v+.+++++++.++++.----.+++++++++++++++++++.++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^+++++++++[^+++++++++++[vv+^^-]v-]v+.--------.++++++++.^+++++++++[^+++++[vv-^^-]v-]v+.^+++++++[^+++++++[vv+^^-]v-]v..-----------------------.++++++.+++++++++++++++++..--.-.++++.----------------------.^+++++++[^+++++++[vv-^^-]v-]v-..++++++++++++++++.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^++++++++[^+++++++++++[vv+^^-]v-]v+.++++++++++++++++.-------------.----.++++++++++.^+++++++[^+++++++[vv-^^-]v-]v+.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-...^+++++++[^+++++++++++++[vv+^^-]v-]v-.--.++++++++++++++++++.--------------.^++++++++++[^+++++++[vv-^^-]v-]v+.+++++++.++++++.------.+++++++++++++++++++.++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^+++++++++[^+++++++++++[vv+^^-]v-]v+.--------.++++++++.^+++++++++[^+++++[vv-^^-]v-]v+.^+++++++[^+++++++[vv+^^-]v-]v..-----------------------.++++++.+++++++++++++++++..--.-.++++.----------------------.^+++++++[^+++++++[vv-^^-]v-]v+.++++++++++++++++.------------.++++++++++.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^++++++++[^+++++++++++[vv+^^-]v-]v+.++++++++++++++++.-------------.----.++++++++++.^+++++++[^+++++++[vv-^^-]v-]v+.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-...^+++++++[^+++++++++++++[vv+^^-]v-]v-.--.++++++++++++++++++.--------------.^++++++++++[^+++++++[vv-^^-]v-]v+.+++++++.+++++.-----.+++++++++++++++++++.++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^++++++++++++++++[^++++++[vv+^^-]v-]v.---.^+++++++++[^+++++++[vv-^^-]v-]v+.^++++++[^+++++++++++[vv+^^-]v-]v-.+++++.++.+++++.-.^+++++++[^+++++++[vv-^^-]v-]v-.^++++++++++[^+++++[vv+^^-]v-]v+.---------------..-.+++++++++++++.^++++[^+++++++++++++++++[vv-^^-]v-]v.^+++++++++[^+++++++[vv+^^-]v-]v-.-------.+++++++++.-------.+.++++++++++++.^++++++++++++[^+++++++[vv-^^-]v-]v.^++++++[^+++++[vv+^^-]v-]v-..^++++++[^+++++[vv-^^-]v-]v+.++++++++++++++++.-------.+++++++++++++++++++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-.....^++++++++++++++++[^++++++[vv+^^-]v-]v.+++++.++.+++++.-.^+++++++[^+++++++[vv-^^-]v-]v-.^++++++++++[^+++++[vv+^^-]v-]v+.---------------..-.+++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.^++++++[^+++++[vv+^^-]v-]v-.^++++++[^+++++[vv-^^-]v-]v+.^++++++++[^+++++++++++[vv+^^-]v-]v-.--------------.+++++.----------.+++++++++++.++++++++.^++++++++[^+++++++++[vv-^^-]v-]v-.^++++++[^+++++++++++[vv+^^-]v-]v.++.---.--.+++.++++.^+++++++[^+++++++++++[vv-^^-]v-]v+.------.^++++++++[^+++++[vv+^^-]v-]v-.^++++++++++++[^+++[vv+^^-]v-]v+.++.+++++.-.^+++[^+++++++++++++++++++[vv-^^-]v-]v-.------------------------.++++++++++.----------.^++++++[^+++++++++++[vv+^^-]v-]v.^++++++[^+++++++++++[vv-^^-]v-]v.+++++++.++++++++++++++++++.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^++++++++[^+++++++++++[vv+^^-]v-]v+.++++++++++++++++.-------------.----.++++++++++.^+++++++[^+++++++[vv-^^-]v-]v+.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-...^+++++++[^+++++++++++++[vv+^^-]v-]v-.--.++++++++++++++++++.--------------.^++++++++++[^+++++++[vv-^^-]v-]v+.+++++++.+++++++.-------.+++++++++++++++++++.++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^++++++++++[^+++++++++++[vv+^^-]v-]v.-----.---------.+++++++++++.---------------.^+++++[^+++++++[vv-^^-]v-]v.^++++++++++[^+++++[vv+^^-]v-]v+.---------------..^++++++++++[^+++++++[vv-^^-]v-]v.+++++++++++.++++++++++++++++++.^++++++[^+++++[vv-^^-]v-]v+.^++++++++++[^+++++[vv+^^-]v-]v+.^+++[^+++++++++++[vv+^^-]v-]v.--.---------.+++++.-------.^++++++++[^+++++++[vv-^^-]v-]v-.^++++++++[^+++++++[vv+^^-]v-]v.++++++++++++.---.--.^++++++[^+++++++[vv-^^-]v-]v.^++++++++++++[^+++[vv+^^-]v-]v+.-------.+++++++++++++++++.^++++++++++++++++[^+++[vv-^^-]v-]v+.^+++++++++[^+++++[vv+^^-]v-]v-.-----------.+.^++++++++++++[^+++++[vv-^^-]v-]v-.^++++++++++[^+++++++[vv+^^-]v-]v-.--------.++++++++.^+++++++++[^+++++[vv-^^-]v-]v+.^+++++++[^+++++++[vv+^^-]v-]v..-----------------------.++++++.+++++++++++++++++..--.-.++++.----------------------.^++++[^+++++++++++++[vv-^^-]v-]v.+++++++++++++++++++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^+++++++[^+++++++++++++[vv+^^-]v-]v.+++++++++++.------------.++++++++++++++++++.--------.--------.+++++++++.++++++.^++++++++++[^+++++++[vv-^^-]v-]v.^++++[^+++++++++++++[vv+^^-]v-]v.+++++++++++++.-----------.+++++++++++++++++++++.^+++++++++++++++[^+++++[vv-^^-]v-]v.^++++++++++++[^+++++[vv+^^-]v-]v-.+++++..---------.+++++++++++++.^++++++[^+++++++[vv-^^-]v-]v.++++++++++++.-------.-.^+++++++++[^+++++[vv-^^-]v-]v+.^++++++[^+++++[vv+^^-]v-]v-.^++++++[^+++++[vv-^^-]v-]v+.^++++++++[^+++++++++++[vv+^^-]v-]v-.-----.---------.+++++++++++.---------------.^+++++[^+++++++[vv-^^-]v-]v.^++++++++++[^+++++[vv+^^-]v-]v+.---------------..^++++++[^+++++++[vv-^^-]v-]v.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^++++++++[^+++++++++++[vv+^^-]v-]v+.++++++++++++++++.-------------.----.++++++++++.^+++++++[^+++++++[vv-^^-]v-]v+.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-...^+++++++[^+++++++++++++[vv+^^-]v-]v-.--.++++++++++++++++++.--------------.^++++++++++[^+++++++[vv-^^-]v-]v+.+++++++.+++++++++++++++++++++.---------------------.+++++++++++++++++++.++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-...^+++++++[^+++++++++++++[vv+^^-]v-]v-.--.++++++++++++++++++.--------------.^++++++++++[^+++++++[vv-^^-]v-]v+.+++++++.^++++++[^+++++++++++++[vv+^^-]v-]v+.^++++++[^+++++++++++++[vv-^^-]v-]v-.+++++++++++++++++++.++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^++++++++++++++++[^++++++[vv+^^-]v-]v.---.^+++++++++[^+++++++[vv-^^-]v-]v+.^++++++++[^+++++++[vv+^^-]v-]v+.+++++++++++++++++..--.-.++++.^++++++++++++[^+++++++[vv-^^-]v-]v+.^++++++[^+++++[vv+^^-]v-]v-..^++++++[^+++++[vv-^^-]v-]v+.++++++++++++++++.-------.+++++++++++++++++++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^++++++[^+++++++++++++++++++[vv+^^-]v-]v.^+++++++++[^+++++++[vv-^^-]v-]v.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-.....^+++++++++[^+++++++++++[vv+^^-]v-]v+.--------.++++++++.^+++++++++[^+++++[vv-^^-]v-]v+.^+++++++[^+++++++[vv+^^-]v-]v..^++++[^+++++++++++++++++[vv-^^-]v-]v.^++++++++[^+++++++++[vv+^^-]v-]v-.-------.+++++.-----------.+.---.++++++++++++++.-------------------------.^++++++[^+++++++[vv-^^-]v-]v-.^+++++++++[^+++++[vv+^^-]v-]v.^+++[^+++++++++++[vv-^^-]v-]v.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^+++++++++[^+++++++++++++[vv+^^-]v-]v-.^++++++[^+++++++++++[vv-^^-]v-]v+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^+++++++[^+++++++++++++[vv+^^-]v-]v+.+++++++.+++++++.--------------.^++++++[^+++++++[vv-^^-]v-]v+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^++++++[^+++++++++++++++++++[vv+^^-]v-]v.^+++++++++[^+++++++[vv-^^-]v-]v.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-.....^++++++++[^+++++++++++[vv+^^-]v-]v.+++++++++++++++++..--.-.++++.^++++++++++[^+++++++[vv-^^-]v-]v..++++++++++++++.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^+++++++++[^+++++++++++++[vv+^^-]v-]v-.^++++++[^+++++++++++[vv-^^-]v-]v+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^++++++++[^+++++++++++[vv+^^-]v-]v+.++++++++++++++++.-------------.----.++++++++++.^+++++++[^+++++++[vv-^^-]v-]v+.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-...^+++++++[^+++++++++++++[vv+^^-]v-]v-.--.++++++++++++++++++.--------------.^++++++++++[^+++++++[vv-^^-]v-]v+.+++++++.+++++++++++++++++++++++.-----------------------.+++++++++++++++++++.++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-...^+++++++[^+++++++++++++[vv+^^-]v-]v-.--.++++++++++++++++++.--------------.^++++++++++[^+++++++[vv-^^-]v-]v+.+++++++.^++++++++[^+++++++[vv+^^-]v-]v-.^++++++++[^+++++++[vv-^^-]v-]v+.+++++++++++++++++++.++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^++++++++[^+++++++++++[vv+^^-]v-]v.+++++++++++++++++..--.-.++++.^++++++++[^+++++++++[vv-^^-]v-]v..++++++++++++++++.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^++++++++++++++++[^++++++[vv+^^-]v-]v.---.^+++++++++[^+++++++[vv-^^-]v-]v+.^++++++++[^+++++++[vv+^^-]v-]v+.+++++++++++++++++..--.-.++++.^++++++++++++[^+++++++[vv-^^-]v-]v+.^++++++[^+++++[vv+^^-]v-]v.-.^++++++[^+++++[vv-^^-]v-]v+.^+++++++[^+++++++++++[vv+^^-]v-]v.--------.++++++++.^+++++++++[^+++++[vv-^^-]v-]v+.^+++++++[^+++++++[vv+^^-]v-]v..^++++[^+++++++++++++++++[vv-^^-]v-]v.^+++++++++[^+++++++[vv+^^-]v-]v-.-------.+++++++++.-------.+++++++++++++.------------.^+++++++++[^+++++++[vv-^^-]v-]v.+++++++++++++++++++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^++++++[^+++++++++++++++++++[vv+^^-]v-]v.^+++++++++[^+++++++[vv-^^-]v-]v.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-.....^+++++++++[^+++++++++++[vv+^^-]v-]v+.--------.++++++++.^+++++++++[^+++++[vv-^^-]v-]v+.^+++++++[^+++++++[vv+^^-]v-]v..^++++[^+++++++++++++++++[vv-^^-]v-]v.^++++++[^+++++++++++[vv+^^-]v-]v.+++++.--.-----------.^+++++++++[^+++++++[vv-^^-]v-]v-.++++++++.-------.++++++++++++++++++.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^+++++++++[^+++++++++++++[vv+^^-]v-]v-.^++++++[^+++++++++++[vv-^^-]v-]v+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^++++++++[^+++++++++++[vv+^^-]v-]v+.++++++++++++++++.-------------.----.++++++++++.^+++++++[^+++++++[vv-^^-]v-]v+.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-...^+++++++[^+++++++++++++[vv+^^-]v-]v-.--.++++++++++++++++++.--------------.^++++++++++[^+++++++[vv-^^-]v-]v+.+++++++.^++++[^+++++++++++++[vv+^^-]v-]v.^++++[^+++++++++++++[vv-^^-]v-]v.+++++++++++++++++++.++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^+++++++++[^+++++++++++[vv+^^-]v-]v.+++..+.^++++++[^+++++[vv-^^-]v-]v+.^+++[^+++++++++++[vv+^^-]v-]v.-------------------.++.++++++++.^++++++++++++[^+++++[vv-^^-]v-]v-.^++++++[^+++++++++++[vv+^^-]v-]v.+++++.--.-----------.^+++++++++[^+++++++[vv-^^-]v-]v-.^+++[^+++++++++++++++++++[vv+^^-]v-]v+.++++.^+++++[^+++++++[vv-^^-]v-]v.^+++++++++[^+++++[vv+^^-]v-]v-.-----------.+.---------------------.^++++++[^+++++[vv+^^-]v-]v+.++++.^+++++++++++++++[^+++++[vv-^^-]v-]v+.++++++++++++++++++.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^++++++++[^+++++++++++[vv+^^-]v-]v+.++++.-------------------.^+++[^+++++++++++[vv+^^-]v-]v.-------------------.+++++++++++++++++++.---------------.------------------.+.+++++++++++++.++.++++++++.^++++++++++++[^+++++[vv-^^-]v-]v-.^++++++[^+++++++++++[vv+^^-]v-]v.+++++.--.-----------.^+++++++++[^+++++++[vv-^^-]v-]v-.^++++++++++[^+++++[vv+^^-]v-]v+.+++++++++++++++++.---.+++++.---------.+++++++++.+.^++++++[^+++++++++++[vv-^^-]v-]v-.------------.^++++++[^+++++++++++[vv+^^-]v-]v+.+++++.-------.+++++++++++++++++.----.+.------------------.^++++[^+++++++++++++[vv-^^-]v-]v.++++++++++++++++++.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^++++++++[^+++++++++++[vv+^^-]v-]v+.++++++++++++++++.-------------.----.++++++++++.^+++++++[^+++++++[vv-^^-]v-]v+.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-...^+++++++[^+++++++++++++[vv+^^-]v-]v-.--.++++++++++++++++++.--------------.^++++++++++[^+++++++[vv-^^-]v-]v+.+++++++.^+++++[^+++++++++++[vv+^^-]v-]v-.^+++++[^+++++++++++[vv-^^-]v-]v+.+++++++++++++++++++.++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^+++[^+++++++++++++[vv+^^-]v-]v-..^++++[^+++++++++++++[vv+^^-]v-]v.++++++++++++.-.+++++.----.---.-------.^++++++++[^+++++++[vv-^^-]v-]v+.^+++++++++[^+++++++[vv+^^-]v-]v-.+++.--------.^+++++++++[^+++++++[vv-^^-]v-]v.------.^+++++++++++++++[^+++++[vv+^^-]v-]v.--------.++++++++.^+++++++++[^+++++[vv-^^-]v-]v+.^+++++++[^+++++++[vv+^^-]v-]v..-----------------------.^++++++++[^+++++++[vv-^^-]v-]v-.+++++++++.^+++++[^+++++++++++[vv+^^-]v-]v-.+++++++++++++++++..--.-.++++.^++++++++[^+++++++++[vv-^^-]v-]v.---------.^++++++++++++[^+++++[vv+^^-]v-]v-.^+++[^+++++++++++[vv-^^-]v-]v+.^++++[^+++++++[vv-^^-]v-]v+.+++++++++.^++++++[^+++++++++++[vv+^^-]v-]v.--------.++++++++.^+++++++++[^+++++[vv-^^-]v-]v+.^+++++++[^+++++++[vv+^^-]v-]v..-----------------------.++++++.+++++++++++++++++..--.-.++++.----------------------.^++++[^+++++++++++++[vv-^^-]v-]v.+++++++++++++++++++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^++++++++++[^+++++[vv+^^-]v-]v+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^++++++++++++[^+++++++++[vv+^^-]v-]v-.-------.+++.^+++[^+++++++++++[vv-^^-]v-]v+.^++++++[^+++++[vv+^^-]v-]v+.++++.^++++++++++++[^+++++++[vv-^^-]v-]v+.^++++++[^+++++[vv+^^-]v-]v-.^++++++[^+++++[vv-^^-]v-]v+.^+++++++[^+++++++++++[vv+^^-]v-]v-.+++..+.^++++++[^+++++[vv-^^-]v-]v+.^+++[^+++++++++++[vv+^^-]v-]v.-------------------.++.++++++++.^++++++++++++[^+++++[vv-^^-]v-]v-.^++++++[^+++++++++++[vv+^^-]v-]v.-.+.^++++++++[^+++++++++[vv-^^-]v-]v.+.---------.+++++++++++++.-------------.+++++++++++++++++.++++++++++.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^++++++++[^+++++++++++[vv+^^-]v-]v+.++++.-------------------.^+++[^+++++++++++[vv+^^-]v-]v.-------------------.+++++++++++++++++++.---------------.------------------.+.+++++++++++++.++.++++++++.^++++++++++++[^+++++[vv-^^-]v-]v-.^++++++[^+++++++++++[vv+^^-]v-]v.-.+.^++++++++[^+++++++++[vv-^^-]v-]v.^++++++++++[^+++++[vv+^^-]v-]v+.+++++++++++++++++.---.+++++.---------.+++++++++.+.^++++++[^+++++++++++[vv-^^-]v-]v-.------------.^++++++[^+++++++++++[vv+^^-]v-]v+.+++++.-------.+++++++++++++++++.----.+.------------------.^++++[^+++++++++++++[vv-^^-]v-]v.++++++++++++++++++.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^++++++++++[^+++++[vv+^^-]v-]v+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^++++++++++++++++[^++++++[vv+^^-]v-]v.---.^+++++++++[^+++++++[vv-^^-]v-]v+.^++++++++++[^+++++++[vv+^^-]v-]v-.--------.++++++++.^+++++++++[^+++++[vv-^^-]v-]v+.^+++++++[^+++++++[vv+^^-]v-]v..-----------------------.++++++.+++++++++++++++++..--.-.++++.----------------------.^++++++++++++[^+++++[vv-^^-]v-]v-.+.^++++[^+++++++[vv+^^-]v-]v.^++++++[^+++++[vv-^^-]v-]v+.++++++++++++++++.-------.+++++++++++++++++++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^++++++[^+++++++++++++++++++[vv+^^-]v-]v.^+++++++++[^+++++++[vv-^^-]v-]v.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-.....^++++++++[^+++++++++++[vv+^^-]v-]v+.++++.^+++++[^+++++++[vv-^^-]v-]v.^+++++++++[^+++++[vv+^^-]v-]v-.-----------.+.---------------------.^++++++[^+++++[vv+^^-]v-]v+.++++.^++++++++++++[^+++++++[vv-^^-]v-]v+.^++++++[^+++++[vv+^^-]v-]v-.^++++++[^+++++[vv-^^-]v-]v+.^++++++++++++[^+++++++[vv+^^-]v-]v.-------.+++.^+++[^+++++++++++[vv-^^-]v-]v+.^++++++[^+++++[vv+^^-]v-]v+.++++.^++++++++[^+++++++[vv-^^-]v-]v+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^+++++++++[^+++++++++++++[vv+^^-]v-]v-.^++++++[^+++++++++++[vv-^^-]v-]v+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^++++++++[^+++++++++++[vv+^^-]v-]v+.++++++++++++++++.-------------.----.++++++++++.^+++++++[^+++++++[vv-^^-]v-]v+.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-...^++++++++++[^+++++[vv+^^-]v-]v+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-...^+++++++[^+++++++++++++[vv+^^-]v-]v-.--.++++++++++++++++++.--------------.^++++++++++[^+++++++[vv-^^-]v-]v+.+++++++.^++++[^+++++++++++++[vv+^^-]v-]v+.++++++++++++++++++.^++++++++[^+++++++++[vv-^^-]v-]v+.+++++++++++++++++++.++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^+++++++++[^+++++++++++[vv+^^-]v-]v.---.+++++.---------.+++++++++.+.^++++[^+++++++++++++++++[vv-^^-]v-]v..++++++++++++++++.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^+++++++[^+++++++++++++[vv+^^-]v-]v-.+++++.-------.+++++++++++++++++.----.+.^++++++[^+++++++++++++[vv-^^-]v-]v-.^++++++[^+++++[vv+^^-]v-]v-.^++++++[^+++++[vv-^^-]v-]v+.+++++++++++++.++++.++++++++++.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^+++++++[^+++++++++++++[vv+^^-]v-]v-.--.++++++++++++++++++.--------------.^++++++++++[^+++++++[vv-^^-]v-]v+.+++++++.-------.+++++++.+++++++++++++++++++.++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^+++++++[^+++++++++++++[vv+^^-]v-]v-.--.++++++++++++++++++.--------------.^++++++++++[^+++++++[vv-^^-]v-]v+.+++++++.^++++[^+++++++++++++[vv+^^-]v-]v+.++++++++++++++++++++++++.^+++++++[^+++++++++++[vv-^^-]v-]v.+++++++++++++++++++.++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^+++++++[^+++++++++++++[vv+^^-]v-]v+.+++++++++++++++++++.-------------------.--.^++++++[^+++++++++++[vv-^^-]v-]v-.^++++++[^+++++[vv+^^-]v-]v-.^++++++[^+++++[vv-^^-]v-]v+.^++++++++++[^+++++++[vv+^^-]v-]v.-----.+++++++++++.+++++++.--------------.^++++++[^+++++++[vv-^^-]v-]v+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^++++++++[^+++++++++++[vv+^^-]v-]v+.++++++++++++++++.-------------.----.++++++++++.^+++++++[^+++++++[vv-^^-]v-]v+.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^++++++++++[^+++++[vv+^^-]v-]v+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-...^+++++++[^+++++++++++++[vv+^^-]v-]v.+.+.-----.++++++++++++++++++++.---------.++++++++.^+++[^+++++++++++++++++++[vv-^^-]v-]v-.++.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-....^++++++++[^+++++++++++[vv+^^-]v-]v.+++++++++++.-------.+++++++++++++.++.^+++++++[^+++++++++++[vv-^^-]v-]v+.^++++[^+++++++++++++++++[vv+^^-]v-]v.---.+++++.---------.+++++++++.+.^++++[^+++++++++++++++++[vv-^^-]v-]v.----.+++++++++++++++++++.-------------------.++++.^++++++++[^+++++++[vv+^^-]v-]v.+++++.-------.+++++++++++++++++.----.+.^++++[^+++++++++++++++++[vv-^^-]v-]v.----.+++++++++++++++++++.^+++++[^+++++++[vv+^^-]v-]v-.++++++++++++++++++++++++.^+++++++[^+++++++[vv-^^-]v-]v-.^+++++++[^+++++++[vv+^^-]v-]v-.-----------------.++++++++.+++++.^+++++++[^+++++++++++[vv-^^-]v-]v-.^+++[^+++++++++++++[vv+^^-]v-]v-.^++++++++++++++++[^+++[vv+^^-]v-]v-.------------------.++++++++.--.+++++.-------.^++++++++[^+++++++++[vv-^^-]v-]v+.^++++++++++++[^+++[vv+^^-]v-]v+.^+++++++++[^+++++[vv+^^-]v-]v..---.+++.^+++++++++[^+++++++++[vv-^^-]v-]v-.++++++++++++++++++++++++++.--------------------------.^++++[^+++++++++++++[vv+^^-]v-]v+.+++++++++++++++++++++++++.---.+++.+.++++++++.^++++++++[^+++++++++++[vv-^^-]v-]v+.^++++++[^+++++++++++[vv+^^-]v-]v+.+++++.-------.+++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.^++++++++++++[^+++++[vv+^^-]v-]v.^++++[^+++++++++++++[vv-^^-]v-]v-.+++++++++.^++++++++[^+++++++++[vv+^^-]v-]v.^+++++++++[^+++++++++[vv-^^-]v-]v.++++.^++++++++[^+++++++[vv+^^-]v-]v-.++++.^+++++[^+++++++[vv-^^-]v-]v.^+++++++++[^+++++[vv+^^-]v-]v-.-----------.+.^++++++++[^+++++++[vv-^^-]v-]v+.^++++[^+++++++++++++[vv+^^-]v-]v+.+++++.-------.+++++++++++++++++.^++++++++++++++++[^+++[vv-^^-]v-]v+.^+++++++++[^+++++[vv+^^-]v-]v-.-----------.+.^+++++[^+++++++[vv-^^-]v-]v-.^++++++++++[^+++++[vv+^^-]v-]v+.^+++++++[^+++++++++++[vv-^^-]v-]v+.^+++[^+++++++++++++++++++[vv+^^-]v-]v+.++++.^+++++[^+++++++[vv-^^-]v-]v.^+++++++++[^+++++[vv+^^-]v-]v-.-----------.+.---------------------.^++++++[^+++++[vv+^^-]v-]v+.++++.^+++++++++++++++[^+++++[vv-^^-]v-]v+.+++++.^++++++++++[^+++++++[vv+^^-]v-]v.-----.^++++[^+++++++[vv-^^-]v-]v.^+++[^+++++++++++[vv+^^-]v-]v.--.---------.+++++.-------.^+++++++++[^+++++++[vv-^^-]v-]v.+++++++++.+++++.-------------.++.----.^++++[^+++++++++++++[vv+^^-]v-]v+.^++++[^+++++++++++++[vv-^^-]v-]v-..++.++++++++++++++++++.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-..^+++++++++[^+++++++++++++[vv+^^-]v-]v-.^++++++[^+++++++++++[vv-^^-]v-]v+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-..^++++++++++[^+++++[vv+^^-]v-]v+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-..^+++++++[^+++++++++++++[vv+^^-]v-]v-.+++++.-------.+++++++++++++++++.----.+.^++++[^+++++++++++++++++[vv-^^-]v-]v..++++++++++++++++.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-..^++++++++[^+++++++++++[vv+^^-]v-]v+.++++.^+++++[^+++++++[vv-^^-]v-]v.^+++++++++[^+++++[vv+^^-]v-]v-.-----------.+.---------------------.^++++++[^+++++[vv+^^-]v-]v+.++++.^++++++++[^+++++++++[vv-^^-]v-]v..++++++++++++++++.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v..-..^++++++++++++++++[^++++++[vv+^^-]v-]v.^+++++++++[^+++++++[vv-^^-]v-]v+..++++++++++++++++.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-.^+++++++++[^+++++++++++++[vv+^^-]v-]v-.^++++++[^+++++++++++[vv-^^-]v-]v+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-.^+++++++[^+++++++++++++[vv+^^-]v-]v.+++++++++++.------------.++++++++++++++++++.--------.--------.+++++++++.++++++.^++++++++++[^+++++++[vv-^^-]v-]v.^++++[^+++++++++++++[vv+^^-]v-]v.+++++++++++++.-----------.+++++++++++++++++++++.^+++++++++++++++[^+++++[vv-^^-]v-]v.^++++++++++++[^+++++[vv+^^-]v-]v-.+++++..---------.+++++++++++++.^++++++[^+++++++[vv-^^-]v-]v.++++++++++++.-------.-.^+++++++++[^+++++[vv-^^-]v-]v+.^++++++[^+++++[vv+^^-]v-]v-.^++++++[^+++++[vv-^^-]v-]v+.^++++++++[^+++++++++++[vv+^^-]v-]v-.-----.---------.+++++++++++.---------------.^+++++[^+++++++[vv-^^-]v-]v.^++++++++++[^+++++[vv+^^-]v-]v+.---------------..^++++++[^+++++++[vv-^^-]v-]v-.+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.-.^++++++++++[^+++++[vv+^^-]v-]v+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.^++++++[^+++++++++++++++++++[vv+^^-]v-]v+.^++++++[^+++++++++++[vv-^^-]v-]v+.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.^+++++++[^+++++++[vv+^^-]v-]v+.-------------.^++++[^+++++++++++++[vv+^^-]v-]v.++++++++++++.-----------.+.^++++++++[^+++++[vv-^^-]v-]v+.--.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.^+++++++[^+++++++[vv+^^-]v-]v+.-------------.^++++++[^+++++++++++[vv+^^-]v-]v-.^+++++++[^+++++++[vv-^^-]v-]v-.--.^+++[^+++++++++++++[vv+^^-]v-]v-.++++++++++++++++.^+++++++++[^+++++++++[vv-^^-]v-]v-.+++++++++++++++.+++++++++++++++.^++++[^+++++++++++++[vv-^^-]v-]v.</body>
  113. </html>