The 'unsigned' for MAX_INPUT is not needed, it can be a normal integer.
Is it reasonable, though, to assign -42 to MAX_INPUT? The unsigned prevents that kind of mistake.
Since MAX_INPUT is going to be used to size an array, it MUST be positive. Again, unsigned prevents assigning a negative value. It doesn't prevent assigning 0 which is also invalid, but you can only go so far with idiot-proofing your code.