"""练习 21 进阶版:用 map 一次转换分数行和实数行。""" from fractions import Fraction n = int(input()) rational_a, rational_b = map(Fraction, input().split()) real_a, real_b = map(float, input().split()) print("integer:", n) print("is natural (including 0):", n >= 0) print("integer is also rational and real:", True) print("rational type:", type(rational_a).__name__) print("real approximation type:", type(real_a).__name__) print("rational + - *:", rational_a + rational_b, rational_a - rational_b, rational_a * rational_b) print("rational /:", rational_a / rational_b if rational_b else "undefined when divisor is 0") print("real + - *:", real_a + real_b, real_a - real_b, real_a * real_b) print("real /:", real_a / real_b if real_b else "undefined when divisor is 0")