Please refer to the A12 assignment for details.