algorithms part i

1 2 3 4