public class Solution { private static int GetMask(string allowed) { var mask = 0; foreach (var c in allowed) { mask |= 1 << (c - 'a'); } return mask; } private static bool IsConsistent(int mask, string word) => word.All(c => (mask & (1 << (c - 'a'))) != 0); public int CountConsistentStrings(string allowed, string[] words) { var mask = GetMask(allowed); return words.Count(word => IsConsistent(mask, word)); } }