edit algorithm 1 again
edit algorithm 1 again
edit algorithm 2