public static int?GetMinimumMovesToTargetState(string targetState, IEnumerable <string> deadEnds)
 {
     return(GetMinimumMovesToTargetState(LockState.Create(targetState), new LockState(0, 0, 0), deadEnds.Select(LockState.Create), int.MaxValue, 0, null));
 }