Input and Output Algorithms