added Memory limit support
solution execution extracted to new function
added display of solution execution time
type of ml changed from float to int
added KeyboardInterrupt support