true X false X false !X true X false true false false X X false !X true false false true false X X true X !X true true false true true true false true true true false false X true X X !X false false false X true true false true !X X false !X false X true true true false X X true false true X false false true true X !X X false true X X X X false false false X false false true false X true false true false X true false true false false false X X true X