from math import ceil
def f(n):return max(((1 + i) * (1 - max(i, ceil(n / i))), ceil(n / i), i) for i in range(1, n + 1))[1:]

for (n, (a, b)) in (
 (1,  (1, 1)),
 (2,  (1, 2)),
 (3,  (2, 2)),
 (4,  (2, 2)),
 (5,  (2, 3)),
 (6,  (2, 3)),
 (7,  (3, 3)),
 (8,  (3, 3)),
 (9,  (3, 3)),
 (10, (2, 5)),
 (11, (3, 4)),
 (12, (3, 4)),
 (13, (4, 4)),
 (14, (4, 4)),
 (15, (4, 4)),
 (16, (4, 4)),
 (17, (3, 6)),
 (18, (3, 6)),
 (19, (4, 5)),
 (20, (4, 5)),
 (21, (3, 7)),
 (22, (5, 5)),
 (23, (5, 5)),
 (24, (5, 5)),
 (25, (5, 5)),
 (26, (4, 7)),
 (27, (4, 7)),
 (28, (4, 7)),
 (29, (5, 6)),
 (30, (5, 6)),
 (31, (4, 8)),
 (32, (4, 8)),
 (33, (6, 6)),
 (34, (6, 6)),
 (35, (6, 6)),
 (36, (6, 6)),
 (37, (5, 8)),
 (38, (5, 8)),
 (39, (5, 8)),
 (40, (5, 8)),
 (41, (6, 7)),
 (42, (6, 7)),
 (43, (5, 9)),
 (44, (5, 9)),
 (45, (5, 9)),
 (46, (7, 7)),
 (47, (7, 7)),
 (48, (7, 7)),
 (49, (7, 7)),
 (50, (5, 10)),
 (51, (6, 9)),
 (52, (6, 9)),
 (53, (6, 9)),
 (54, (6, 9)),
 (55, (7, 8)),
 (56, (7, 8)),
 (57, (6, 10)),
 (58, (6, 10)),
 (59, (6, 10)),
 (60, (6, 10)),
 (61, (8, 8)),
 (62, (8, 8)),
 (63, (8, 8)),
 (64, (8, 8)),
 (65, (6, 11)),
 (66, (6, 11)),
 (67, (7, 10)),
 (68, (7, 10)),
 (69, (7, 10)),
 (70, (7, 10)),
 (71, (8, 9)),
 (72, (8, 9)),
 (73, (7, 11)),
 (74, (7, 11)),
 (75, (7, 11)),
 (76, (7, 11)),
 (77, (7, 11)),
 (78, (9, 9)),
 (79, (9, 9)),
 (80, (9, 9)),
 (81, (9, 9)),
 (82, (7, 12)),
 (83, (7, 12)),
 (84, (7, 12)),
 (85, (8, 11)),
 (86, (8, 11)),
 (87, (8, 11)),
 (88, (8, 11)),
 (89, (9, 10)),
 (90, (9, 10)),
 (91, (7, 13)),
 (92, (8, 12)),
 (93, (8, 12)),
 (94, (8, 12)),
 (95, (8, 12)),
 (96, (8, 12)),
 (97, (10, 10)),
 (98, (10, 10)),
 (99, (10, 10)),
 (100, (10, 10))
):
 print f(n) == (b, a)