the pigeonhole principle is often found in computer science