How to read 100 inputs?

I have 100 inputs that are being updated 50 times per a second. I need to read these inputs , at least 20 times per a second. There is no problem in timing , the problem is how to use minimum number of pins.

Thank for your help.

Search port extender, MCP23017 or similr

I assume these are digital inputs. If not you need another solution rather than the 23017 or 23S17.

Thanks for your quick reply about MCP23017.

I learned a lot about the IC in the following link:

http://tronixstuff.com/2011/08/26/tutorial-maximising-your-arduinos-io-ports/

This chip has an output than can be set up to trigger on an input change. This means you can check the whole 16 inputs to see if any has changed before reading the whole 16 inputs to find out which one has changed. This makes scanning a lot of inputs a lot more efficient.