Difficult Problem 503