X = int(input()) max_n = X d_counts = [0] * (max_n + 1) # Precompute the number of divisors for each number up to X using sieve method for d in range(1, max_n + 1): for i in range(d, max_n + 1, d): d_counts[i] += 1 min_diff = float('inf') result = [] for A in range(1, X): B = X - A if B < 1: continue # B must be positive fa = A - d_counts[A] fb = B - d_counts[B] current_diff = abs(fa - fb) if current_diff < min_diff: min_diff = current_diff result = [(A, B)] elif current_diff == min_diff: result.append((A, B)) # Sort the results by A in ascending order result.sort() for a, b in result: print(a, b)