input pattern