The second Assignment solution by armanbordbar