we said if the problem is in np, then there must be some algorithm for that problem which runs in polynomial time on a non deterministic ram, so an algorithm or a program you can call it any way you want, so that will run in polynomial time, and the algorithm at some lines of the code either says yes or says no, but it's running in polynomial time in any case, and of course the input for the problem, well that is basically just the number of variables in the memory of the machine as it starts out.