Input Pattern Types