
"""simple docstring"""

def      lowercase__    (       lowerCAmelCase					:       str = 100			)			->   int:






    """simple docstring"""




    UpperCAmelCase          =       set()

    UpperCAmelCase          =       0

    UpperCAmelCase          =       n + 1  # maximum limit

    for a in range(2			,					lowerCAmelCase			):
        for b in range(2			,					lowerCAmelCase			):
            UpperCAmelCase          =       a**b  # calculates the current power
            collect_powers.add(lowerCAmelCase			)  # adds the result to the set
    return len(lowerCAmelCase			)


if __name__ == "__main__":
   print('''Number of terms ''', solution(int(str(input()).strip())))





from __future__ import annotations







def 							A__       (    lowerCamelCase    )	->						int:
				UpperCamelCase_:				Optional[Any]						=    len(lowerCamelCase    ) // 2

				# choose the middle 3 elements
				UpperCamelCase_:				Tuple						=    lst[m - 1 : m + 2]

				# if middle element is peak
				if three[1] > three[0] and three[1] > three[2]:
								return three[1]

				# if increasing, recurse on right
				elif three[0] < three[2]:
								if len(lst[:m]    ) == 2:
												m -= 1
								return peak(lst[m:]    )

				# decreasing
				else:
								if len(lst[:m]    ) == 2:
												m += 1
								return peak(lst[:m]    )


if __name__ == "__main__":
							import doctest

							doctest.testmod()






