or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not or not