PROBLEM STATEMENT A non-negative integer n is said to be a sum of two perfect powers if there exist two non-negative integers a and b such that am + bk = n for some positive integers m and k, both greater than 1. Given two non-negative integers lowerBound and upperBound, return the number of integers between lowerBound and upperBound, inclusive, that are sums of two perfect powers. DEFINITION Class:SumsOfPerfectPowers Method:howMany Parameters:int, int Returns:int Method signature:int howMany(int lowerBound, int upperBound) CONSTRAINTS -lowerBound will be between 0 and 5000000, inclusive. -upperBound will be between lowerBound and 5000000, inclusive. EXAMPLES 0) 0 1 Returns: 2 0 and 1 are both sums of two perfect powers since 0 = 0 + 0 and 1 = 12 + 02. 1) 5 6 Returns: 1 5 is a sum of two perfect powers since 5 = 22 + 12 while 6 is not. 2) 25 30 Returns: 5 Only 30 is not a sum of two perfect powers. 3) 103 103 Returns: 0 There may be no desired integers in the range. 4) 1 100000 Returns: 33604 This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2010, TopCoder, Inc. All rights reserved.