Which Confederate victory stopped the Union from taking Richmond, making the war long and difficult?

Battle of Shiloh

Battle of Antietam

Battle of Gettysburg

First Battle of Bull Run​