spdf =['1s','2s','2p','3s','3p','4s','3d','4p','5s','4d','5p','6s','4f','5d','6p','7s','5f','6d','7p','8s']
nums =[2,2,6,2,6,2,10,6,2,10,6,2,14,10,6,2,14,10,6,2]
levels =[1,2,2,3,3,4,3,4,5,4,5,6,4,5,6,7,5,6,7,8]
n =int(input())
result =[[]for i inrange(9)]# 9行,第1行不用,便于对齐# level和num分别用于控制对levels和nums的遍历顺序
level =0
num =0while n >0:if n > nums[num]:
nu = nums[num]else:
nu = n
n -= nums[level]
result[levels[level]].append(spdf[level]+str(nu))
level = level +1
num = num +1# 只打印有数据的层
m =max(levels[:level])for i inrange(1, m +1):print(*result[i])