def solve():
n = int(input())
if n < 2:
print(0)
return
m = n * (n - 1) // 2
print(m + (n * (n - 1) // 2))
for i in range(1, n + 1):
for j in range(i + 1, n + 1):
print(i, j)
for i in range(1, n + 1):
for j in range(i + 1, n + 1):
print(j, i)
if __name__ == "__main__":
solve()
N различных веществ, каждое из которых можно превратить в другие и наоборот. За каждое доказательство у доски того факта, что одно вещество можно превратить в другое, студент получал конфетку. Но чтобы все выступления у доски были содержательными, преподаватель поставил условие — нельзя доказывать факты, которые являются логическими следствиями уже доказанных. То есть, если уже доказано, что из вещества A 1
получается A 2 , а из A 2
получается A 3 , то нельзя отдельно доказывать, что из A 1
получается A 3
Анна Влако хочет получить максимальное количество конфеток, соблюдая это правило.
Формат входных данных
Во входном файле содержится единственное число
N ( 2 ≤ N ≤ 100 2≤N≤100) — количество различных веществ, которые можно превращать друг в друга.
Формат выходных данных
В первой строке выходного файла выведите число m
m — максимальное число конфеток, которые могут получить студенты. В каждой из следующих m
m строк выведите два числа
A и B , означающих, что очередной студент будет доказывать, что из вещества A A можно получить вещество B B. Вещества пронумерованы целыми числами от
1 до N
входные данные выходные данные
2
2
1 2
2 1
3
5
1 2
1 3
2 3
2 1
примичание (задачу прошу решать без slove break false true, используйте if, for i in range, if,while, int(input())