Algebraic Topology by Paul R. Halmos & William Fulton