misc.py 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612
  1. from cmath import cos
  2. from math import sin, cos
  3. '''
  4. number = int(input())
  5. d = number%10
  6. c = (number//10)%10
  7. b = (number//100)%10
  8. a = number//1000
  9. print(a, b, c, d)
  10. '''
  11. # x = int(input())
  12. # if x > 999 and x < 10000 and (x%17 == 0) and (x%7 == 0):
  13. # print("YES")
  14. # else:
  15. # print("NO")
  16. # x = int(input())
  17. # x1 = x%10
  18. # x2 = x//10%10
  19. # x3 = x//100
  20. # average = (x1 + x2 + x3) - max(x1, x2, x3) - min(x1, x2, x3)
  21. # if (average == max(x1, x2, x3) - min(x1, x2, x3)):
  22. # print('Число интересное')
  23. # else:
  24. # print('Число неинтересное')
  25. # print(math.pi())
  26. # n = int(input())
  27. # counter = 1
  28. # foo = 1
  29. # for i in range(1, n + 1):
  30. # for j in range(1, int(counter/2) + 2):
  31. # print(j, end='')
  32. # foo = j
  33. # for foo in range(foo - 1, 0, -1):
  34. # print(foo, end='')
  35. # counter += 2
  36. # print()
  37. # a = int(input())
  38. # b = int(input())
  39. # sum = 0
  40. # max_sum = 0
  41. # val = 0
  42. # for i in range(a, b + 1):
  43. # for j in range (1, i + 1):
  44. # if i%j == 0:
  45. # sum += j
  46. # if sum >= max_sum:
  47. # max_sum = sum
  48. # val = i
  49. # sum = 0
  50. # print(val, max_sum)
  51. # ----------------------------------------------------------------------
  52. # a = int(input())
  53. # b = int(input())
  54. # sum = 0
  55. # max_sum = 0
  56. # val = 0
  57. # for i in range(a, b + 1):
  58. # for j in range (1, i + 1):
  59. # if i%j == 0:
  60. # sum += j
  61. # if sum >= max_sum:
  62. # max_sum = sum
  63. # val = i
  64. # sum = 0
  65. # print(val, max_sum)
  66. # ----------------------------------------------------------------------
  67. # n = int(input())
  68. # for i in range(1, n + 1):
  69. # print(i, end='')
  70. # for j in range (1, i + 1):
  71. # if i%j == 0:
  72. # print('+', sep='', end='')
  73. # print()
  74. # ----------------------------------------------------------------------
  75. # n = int(input())
  76. # sum = 0
  77. # f = 1
  78. # for i in range(1, n + 1):
  79. # for j in range(1, i + 1):
  80. # f *= j
  81. # sum += f
  82. # f = 1
  83. # print(sum)
  84. # ----------------------------------------------------------------------
  85. # a = int(input())
  86. # b = int(input())
  87. # flag = True
  88. # if a == 1:
  89. # a += 1
  90. # for i in range(a, b + 1):
  91. # for j in range (2, i):
  92. # if i%j == 0:
  93. # flag = False
  94. # if flag == True:
  95. # print(i)
  96. # else:
  97. # flag = True
  98. # n = int(input())
  99. # s = 0
  100. # while n != 0:
  101. # if n % 2 == 0:
  102. # s += n % 10
  103. # n //= 10
  104. # print(s)
  105. # n = 8
  106. # count = 0
  107. # maximum = -10*12
  108. # for i in range(n):
  109. # x = int(input())
  110. # if x % 4 == 0 and x != 0:
  111. # count += 1
  112. # if x >= maximum:
  113. # maximum = x
  114. # if count > 0:
  115. # print(count)
  116. # print(maximum)
  117. # else:
  118. # print('NO')
  119. # n = 4
  120. # count = 0
  121. # maximum = -10**8
  122. # for i in range(n):
  123. # x = int(input())
  124. # if x % 2 != 0:
  125. # count += 1
  126. # if x > maximum:
  127. # maximum = x
  128. # if count > 0:
  129. # print(count)
  130. # print(maximum)
  131. # else:
  132. # print('NO')
  133. # n = int(input())
  134. # if 3 <= n <= 19:
  135. # print('*'*19)
  136. # for i in range(n-2):
  137. # print('* *')
  138. # print('*'*19)
  139. # ----------------------------------------------------------------------
  140. # three_counter = 0
  141. # last_digit_counter = 0
  142. # last_digit_flag = False
  143. # digit = 0
  144. # even_ounter = 0
  145. # sum = 0
  146. # mul = 1
  147. # greater_seven_counter = 0
  148. # greate_seven_digit = 0
  149. # sum_zero_five = 0
  150. # n = int(input())
  151. # last_digit = n%10
  152. # while n != 0:
  153. # digit = n%10
  154. # if digit > 7:
  155. # mul *= digit
  156. # greater_seven_counter += 1
  157. # greate_seven_digit = digit
  158. # if digit > 5:
  159. # sum += digit
  160. # if digit % 2 == 0:
  161. # even_ounter += 1
  162. # if digit == 3:
  163. # three_counter += 1
  164. # if digit == 0 or digit == 5:
  165. # sum_zero_five += 1
  166. # if last_digit == digit:
  167. # last_digit_counter += 1
  168. # n //= 10
  169. # print(three_counter)
  170. # print(last_digit_counter)
  171. # print(even_ounter)
  172. # print(sum)
  173. # if greater_seven_counter == 1:
  174. # print(greate_seven_digit)
  175. # else:
  176. # print(mul)
  177. # print(sum_zero_five)
  178. # i = 1729
  179. # first_flag = False
  180. # second_flag = False
  181. # x1, y1, x2, y2 = 0, 0, 0, 0
  182. # for i in range(1729, 2000):
  183. # for a in range(1, i):
  184. # for b in range(a, i):
  185. # if first_flag == False:
  186. # if a**3 + b**3 == i:
  187. # first_falg = True
  188. # x1 = a
  189. # y1 = b
  190. # elif first_flag == True:
  191. # if a**3 + b**3 == i:
  192. # second_falg = True
  193. # x2 = a
  194. # y2 = b
  195. # if first_flag == second_flag == True:
  196. # print(i, x1, y1, x2, y2)
  197. # first_flag = False
  198. # second_flag = False
  199. # i = 1729
  200. # first_flag = False
  201. # second_flag = False
  202. # x1, y1, x2, y2 = 0, 0, 0, 0
  203. # a, b, c, d = 1, 1, 1, 1
  204. # for i in range(1729, 33000):
  205. # for a in range(1, 33):
  206. # for b in range(a, 33):
  207. # for c in range(b, 33):
  208. # for d in range(c, 33):
  209. # if a**3 + b**3 == c**3 + d**3:
  210. # if (a**3 + b**3 == c**3 + d**3) and a != b and a != c and a != d:
  211. # print(a**3 + b**3, a, b, c, d)
  212. # iter - максимальное значение чисел, возводимых в куб. Здесь - это 33. Можно задать любое другое целое
  213. # n - кэш решений и массив для сортировки и вывода решений.
  214. # n_ijkl - словарь для проверки решений.
  215. # n_a, n_b - рабочие переменные.
  216. # ijkl - кортеж кортежей сумм пар кубов чисел в диапазоне до iter,
  217. # для сокращения вычислений за счёт исключения повторяющихся пар.
  218. # заготавливаем перед началом поика решений.
  219. # from time import * # для вычисления времени поиска решений
  220. # iter, n, n_ijkl, n_a, n_b = 33, set(), dict(), 0, 0
  221. # t = perf_counter() # сохраняем время начала вычислений
  222. # ijkl = tuple([tuple([i ** 3 + j ** 3 for j in range(iter)]) for i in range(iter)])
  223. # for i in range(1, iter):
  224. # for j in range(1, iter):
  225. # for k in range(1, iter):
  226. # for l in range(1, iter):
  227. # n_a = ijkl[i][j] # перебираем суммы кубов пар
  228. # n_b = ijkl[k][l] #
  229. # if n_a == n_b and i != k and j != l and i != l and j != k:
  230. # # проверяем суммы кубов пар на равенство, а числа на неравенство.
  231. # # если условие выполняется, производим записи в кэш решений и словарь с числами.
  232. # n.add(n_a)
  233. # n_ijkl[n_a] = (((i, j), i**3 + j**3), '=', (k**3 + l**3, (k, l)))
  234. # # на основе кэша решений формируем упорядоченный массив решений.
  235. # n = list(n)
  236. # n.sort()
  237. # # выводим время выполнения вычислений
  238. # print(perf_counter() - t)
  239. # # выводим чило полученных решений при заданном диапазоне чисел.
  240. # print('N_res = ', len(n))
  241. # # выводим в строчку:
  242. # # - решение, числа первой пары, сумму кубов чисел первой пары, =,
  243. # # сумму кубов чисел второй пары, числа второй пары
  244. # for r in n:
  245. # print(r, ' -> ', n_ijkl[r])
  246. # n = int(input())
  247. # my_list = []
  248. # for i in range(n):
  249. # foo = int(input())
  250. # my_list.append(foo**3)
  251. # print(my_list)
  252. # -----------------------------------------------------------------------
  253. # n_string = int(input())
  254. # my_list = []
  255. # for i in range(n_string):
  256. # my_list.extend(input())
  257. # print(my_list)
  258. # -----------------------------------------------------------------------
  259. # my_string = input()
  260. # my_list = my_string.split()
  261. # print(*my_list, sep='\n')
  262. # -----------------------------------------------------------------------
  263. # my_string = input()
  264. # my_list = my_string.split()
  265. # for i in my_list:
  266. # print(i[0], end='.')
  267. # -----------------------------------------------------------------------
  268. # my_string = 'C:\Windows\System32\calc.exe'
  269. # my_list = my_string.split('\\')
  270. # print(*my_list, sep='\n')
  271. # -----------------------------------------------------------------------
  272. # my_string = input()
  273. # my_list = my_string.split()
  274. # for i in my_list:
  275. # print('+'*int(i))
  276. # -----------------------------------------------------------------------
  277. # sum = 0
  278. # for i in range(50, 100 + 1):
  279. # sum += i**3
  280. # print(sum)
  281. # n = int(input())
  282. # f = 1
  283. # if n == 0:
  284. # print(1)
  285. # else:
  286. # for i in range (1, n + 1):
  287. # f *= i
  288. # print(f)
  289. # n = int(input())
  290. # mo = 0
  291. # ko = 0
  292. # for i in range(n):
  293. # m, k = map(int, input().split())
  294. # if m > k:
  295. # m += 1
  296. # elif k > m:
  297. # k += 1
  298. # if mo > ko:
  299. # print('Mishka')
  300. # elif ko > mo:
  301. # print('Chris')
  302. # else:
  303. # print('Friendship is magic!^^')
  304. # n = int(input())
  305. # s = []
  306. # for i in range(n):
  307. # s.append(input().lower())
  308. # for i in range(len(s)):
  309. # index = s[i].find('рок')
  310. # if index != -1:
  311. # print(i + 1, index + 1)
  312. # n = int(input())
  313. # s = []
  314. # for i in range(n):
  315. # s.append(input().lower())
  316. # for i in range(len(s)):
  317. # index = s[i].find('соль')
  318. # if index == -1:
  319. # if i != len(s) - 1:
  320. # print(s[i] + ', ', end='')
  321. # else:
  322. # print(s[i])
  323. # n = int(input())
  324. # s = []
  325. # for i in range(n):
  326. # s.append(input())
  327. # for i in range(len(s)):
  328. # if len(s[i]) > 10:
  329. # print(s[i][0], len(s[i]) - 2, s[i][-1], sep='')
  330. # else:
  331. # print(s[i])
  332. # n, m = map(int, input().split())
  333. # l = []
  334. # sum_row = 0
  335. # sum_col = 0
  336. # sum_row_l = []
  337. # sum_col_l = []
  338. # for i in range(n):
  339. # l.append(list(map(int, input().split())))
  340. # for i in range(n):
  341. # for j in range(m):
  342. # sum_row += l[i][j]
  343. # sum_row_l.append(sum_row)
  344. # sum_row = 0
  345. # for j in range(m):
  346. # for i in range(n):
  347. # sum_col += l[i][j]
  348. # sum_col_l.append(sum_col)
  349. # sum_col = 0
  350. # print(*sum_row_l)
  351. # print(*sum_col_l)
  352. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  353. # n = int(input())
  354. # l = []
  355. # for i in range(n):
  356. # l.append(list(map(int, input().split())))
  357. # # n = 4
  358. # #l = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]
  359. # # l = [[0, 0, 1, 0], [0, 0, 1, 1], [1, 1, 0, 1], [0, 1, 1, 0]]
  360. # j = 0
  361. # index = 1
  362. # flag = True
  363. # for i in range(n):
  364. # while j < n - index:
  365. # # print(l[i][j + index])
  366. # # print(l[j + index][i])
  367. # if l[i][j + index] != l[j + index][i]:
  368. # flag = False
  369. # break
  370. # j += 1
  371. # j = 0
  372. # index += 1
  373. # if flag == True:
  374. # print("YES")
  375. # else:
  376. # print("NO")
  377. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  378. # n, m = map(int, input().split())
  379. # l = []
  380. # foo = []
  381. # sum = 0
  382. # for i in range(n):
  383. # l.append(list(map(int, input().split())))
  384. # for i in range(n):
  385. # for j in range(m):
  386. # sum += l[i][j]
  387. # foo.append(sum)
  388. # sum = 0
  389. # print(max(foo))
  390. # print(foo.index(max(foo)))
  391. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  392. # n, m = map(int, input().split())
  393. # l = []
  394. # maximum = [0]*n
  395. # col_index = [0]*n
  396. # foo = 0
  397. # for i in range(n):
  398. # l.append(list(map(int, input().split())))
  399. # # n, m = 3, 3
  400. # # l = [[3, 1, 2], [1, 3, 4], [3, 3, 3]]
  401. # for i in range(n):
  402. # for j in range(m):
  403. # if l[i][j] > foo:
  404. # foo = l[i][j]
  405. # maximum[i] = foo
  406. # # row_index[i] = i
  407. # col_index[i] = j
  408. # foo = max(maximum)
  409. # print(foo)
  410. # print(maximum.index(foo), col_index[maximum.index(foo)])
  411. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  412. # # n, m = map(int, input().split())
  413. # # l = []
  414. # n, m = 3, 3
  415. # l = [[3, 1, 2], [1, 3, 4], [3, 3, 3]]
  416. # maximum = [0]*n
  417. # # for i in range(n):
  418. # # l.append(list(map(int, input().split())))
  419. # # n, m = 3, 3
  420. # # l = [[3, 1, 2], [1, 3, 4], [3, 3, 3]]
  421. # for i in range(n):
  422. # maximum.append(sum(l[i]))
  423. # print(maximum)
  424. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  425. # n = int(input())
  426. # l = []
  427. # cnt = 0
  428. # for i in range(n):
  429. # l.append(list(map(int, input().split())))
  430. # for i in range (n):
  431. # for j in range(n):
  432. # if j == i:
  433. # continue
  434. # if l[i][0] == l[j][1]:
  435. # cnt += 1
  436. # print(cnt)
  437. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  438. # n, m = map(int, input().split())
  439. # l = []
  440. # cnt = 0
  441. # l.append('.'*(m + 2))
  442. # for i in range(n):
  443. # row = '.' + input() + '.'
  444. # l.append(row)
  445. # l.append('.'*(m + 2))
  446. # for i in range(n + 2):
  447. # print(l[i])
  448. # for i in range(1, n + 1):
  449. # for j in range(1, m + 1):
  450. # if l[i - 1][j] == '.' and l[i][j + 1] == '.' and l[i + 1][j] == '.' and l[i][j - 1] == '.' and l[i][j] == '.':
  451. # cnt += 1
  452. # print(cnt)
  453. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  454. # i_love_none = [None]*50
  455. # print(i_love_none)
  456. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  457. # t = ('asdfasd')
  458. # print(type(t))
  459. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  460. # from pprint import pprint # для красивого вывода словаря
  461. # person = {}
  462. # s = 'IVANOV IVAN 19 Samara SGU 4 5 5 5 4 3 5 3'
  463. # s = s.split()
  464. # print(s)
  465. # print('-'*15)
  466. # person['last_name'] = s[0]
  467. # person['first_name'] = s[1]
  468. # person['age'] = int(s[2])
  469. # person['city'] = s[3]
  470. # person['university'] = s[4]
  471. # print(person)
  472. # print('-'*15)
  473. # person['marks'] = []
  474. # for i in s[5:]:
  475. # person['marks'].append(int(i))
  476. # pprint(person)