using System;
using System.Collections.Generic;
using System.Linq;
public class Test
{
private static bool check(string s) {
List<string> words = new List<string>() { "true", "false", "&&", "||", " " };
return s.Split(' ').All(word => words.Contains(word));
}
public static void Main()
{
var data = new[] {
"true && false || false && false",
"true || false && false && false",
"true & false || false < false",
"true >> false && false && false",
"true and false 123 false && false",
"true || false && false xyz false"
};
foreach (var s in data) {
Console.WriteLine("{0} : {1}", s, check(s));
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CgpwdWJsaWMgY2xhc3MgVGVzdAp7Cglwcml2YXRlIHN0YXRpYyBib29sIGNoZWNrKHN0cmluZyBzKSB7CgkJTGlzdDxzdHJpbmc+IHdvcmRzID0gbmV3IExpc3Q8c3RyaW5nPigpIHsgInRydWUiLCAiZmFsc2UiLCAiJiYiLCAifHwiLCAiICIgfTsKCQlyZXR1cm4gcy5TcGxpdCgnICcpLkFsbCh3b3JkID0+IHdvcmRzLkNvbnRhaW5zKHdvcmQpKTsKCX0KCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKCQl2YXIgZGF0YSA9IG5ld1tdIHsKCQkJInRydWUgJiYgZmFsc2UgfHwgZmFsc2UgJiYgZmFsc2UiLAoJCQkidHJ1ZSB8fCBmYWxzZSAmJiBmYWxzZSAmJiBmYWxzZSIsCgkJCSJ0cnVlICYgZmFsc2UgfHwgZmFsc2UgPCBmYWxzZSIsCgkJCSJ0cnVlID4+IGZhbHNlICYmIGZhbHNlICYmIGZhbHNlIiwKCQkJInRydWUgYW5kIGZhbHNlIDEyMyBmYWxzZSAmJiBmYWxzZSIsCgkJCSJ0cnVlIHx8IGZhbHNlICYmIGZhbHNlIHh5eiBmYWxzZSIKCQl9OwoJCWZvcmVhY2ggKHZhciBzIGluIGRhdGEpIHsKCQkJQ29uc29sZS5Xcml0ZUxpbmUoInswfSA6IHsxfSIsIHMsIGNoZWNrKHMpKTsKCQl9CgkJICAKCgoKCgl9Cn0=