added algorithmic solution source codes