Welcome to the Chinese Room!

Take your input and make the first symbol on the right the "current" symbol. Start with rule #1, and proceed downwards until you find a rule that applies.

  1. If there are no more symbols, then produce your output.
  2. If the next two symbols (the current one and the one immediately to the left of it) are and , then output a (to the left of previous output), and move the current marker to the left by two, and go back to the first rule.
  3. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  4. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  5. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  6. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  7. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  8. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  9. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  10. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  11. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  12. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  13. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  14. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  15. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  16. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  17. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  18. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  19. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  20. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  21. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  22. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  23. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  24. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  25. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  26. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  27. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  28. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  29. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  30. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  31. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  32. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  33. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  34. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  35. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  36. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  37. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  38. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  39. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  40. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  41. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  42. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  43. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  44. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  45. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  46. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  47. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  48. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  49. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  50. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  51. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  52. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  53. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  54. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  55. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  56. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  57. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  58. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  59. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  60. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  61. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  62. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  63. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  64. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  65. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  66. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  67. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  68. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  69. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  70. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  71. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  72. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  73. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  74. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  75. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  76. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  77. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  78. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  79. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  80. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  81. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  82. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  83. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  84. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  85. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  86. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  87. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  88. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  89. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  90. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  91. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  92. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  93. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  94. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  95. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  96. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  97. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  98. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  99. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  100. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.
  101. If the next two symbols are and , output a , then move the current marker to the left by two, and go back to the first rule.

Douglas Blank