op 1: normal rec_square., op 2: alternate rec_square.c