!7 p { assertEquals("0", calc("0")); assertEquals("1", calc("1")); assertEquals("1", calc("1!")); assertEquals("1", calc("0!")); assertEquals("1", calc("!0")); assertEquals("0", calc("!1")); assertEquals("0", calc("!0!")); assertEquals("1", calc("!!0!")); assertEquals("0", calc("!!0")); assertEquals("1", calc("!!!0")); assertEquals("1", calc("0!!")); assertEquals("1", calc("1!!")); assertEquals("0", calc("!0!!")); assertEquals("0", calc("!0!!!")); assertEquals("0", calc("!0!!!!")); } sS calc(S s) { ret repeatMultiReplace3(s, "0!", "1", "1!", "1", "!0", "1", "!1", "0"); }