fork(3) download
  1. #include <iostream>
  2.  
  3. struct wezel
  4. {
  5. int wartosc;
  6. struct wezel *rodzic;
  7. struct wezel *l_syn;
  8. struct wezel *p_syn;
  9. };
  10. struct wezel *root;
  11.  
  12. using namespace std;
  13.  
  14. //funkcja zwraca wskaznik elementu o najmniejszej wartosci (najbardziej na lewo)
  15. struct wezel* naj_lewo(struct wezel *start)
  16. {
  17. if(start && start->l_syn)
  18. return naj_lewo(start->l_syn);
  19. else
  20. return start;
  21. }
  22.  
  23. //funkcja zwraca wskaznik elementu o najwiekszej wartosci (najbardziej na prawo)
  24. struct wezel* naj_prawo(struct wezel *start)
  25. {
  26. if(start && start->p_syn)
  27. return naj_prawo(start->p_syn);
  28. else
  29. return start;
  30. }
  31.  
  32. // Funkcja znajduje następnik węzła p
  33. //-----------------------------------
  34. wezel * znajdzNastepnika(wezel * p)
  35. {
  36. wezel * r;
  37.  
  38. if(p)
  39. {
  40. if(p->rodzic)
  41. return naj_lewo(p->p_syn);
  42. else
  43. {
  44. r = p->rodzic;
  45. while(r && (p == r->p_syn))
  46. {
  47. p = r;
  48. r = r->rodzic;
  49. }
  50. return r;
  51. }
  52. }
  53. return p;
  54. }
  55.  
  56. // Funkcja znajduje poprzednik węzła p
  57. //------------------------------------
  58. wezel * znajdzPoprzednika(wezel * p)
  59. {
  60. wezel * r;
  61.  
  62. if(p)
  63. {
  64. if(p->l_syn)
  65. return naj_prawo(p->l_syn);
  66. else
  67. {
  68. r = p->rodzic;
  69. while(r && (p == r->l_syn))
  70. {
  71. p = r;
  72. r = r->rodzic;
  73. }
  74. return r;
  75. }
  76. }
  77. return p;
  78. }
  79.  
  80. //funkcja zwraca wezel o podanej wartosci, badz NULL, gdy taki wezel nie istnieje
  81. struct wezel* szukaj(struct wezel *start, int wartosc)
  82. {
  83. if(!start)
  84. return NULL;
  85. //jezeli wezel ma szukana wartosc to odnalezlismy go
  86. if (start->wartosc == wartosc)
  87. return start;
  88. //jezeli szukana wartosc jest mniejsza to szukamy w lewym poddrzewie o ile istnieje
  89. else if (wartosc < start->wartosc && start->l_syn != NULL)
  90. return szukaj(start->l_syn, wartosc);
  91. //jezeli szukana wartosc jest wieksza to szukamy w prawym poddrzewie o ile istnieje
  92. else if (wartosc > start->wartosc && start->p_syn != NULL)
  93. return szukaj(start->p_syn, wartosc);
  94. return NULL;
  95. }
  96.  
  97. //dodaje wezel o podanej wartosci n, do drzewa o korzeniu start
  98. void dodawanie(int n, struct wezel *start)
  99. {
  100. //jezeli drzewo jest puste to dodaj korzen
  101. if (root == NULL)
  102. {
  103. root = new wezel;
  104. root->wartosc = n;
  105. root->l_syn = NULL;
  106. root->p_syn = NULL;
  107. root->rodzic = NULL;
  108. }
  109. //jezeli zadana wartosc jest mniejsza od korzenia idz do lewego poddrzewa
  110. else if(n < start->wartosc)
  111. {
  112. //jezeli lewe poddrzewo istnieje wywolaj dla niego ta funkcje rekurencyjnie
  113. if(start->l_syn != NULL)
  114. {
  115. dodawanie(n,start->l_syn);
  116. }
  117. //jezeli lewe poddrzewo nie istnieje dodaj nowy wezel o zadanej wartosci
  118. else
  119. {
  120. wezel *nowy = new wezel;
  121. nowy->wartosc = n;
  122. nowy->l_syn = NULL;
  123. nowy->p_syn = NULL;
  124. nowy->rodzic = start;
  125. start->l_syn=nowy;
  126. }
  127. }
  128. //jezeli zadana wartosc jest wieksza lub rowna korzeniowi idz do prawego poddrzewa
  129. else
  130. {
  131. //jezeli prawe poddrzewo istnieje wywolaj dla niego ta funkcje rekurencyjnie
  132. if(start->p_syn!=NULL)
  133. {
  134. dodawanie(n,start->p_syn);
  135. }
  136. //jezeli prawe poddrzewo nie istnieje dodaj nowy wezel o zadanej wartosci
  137. else
  138. {
  139. wezel *nowy = new wezel;
  140. nowy->wartosc = n;
  141. nowy->l_syn = NULL;
  142. nowy->p_syn = NULL;
  143. nowy->rodzic = start;
  144. start->p_syn=nowy;
  145. }
  146. }
  147. }
  148.  
  149. void kasowanie(struct wezel *start)
  150. {
  151. if(start==NULL)
  152. return;
  153. //jezeli wezel nie ma dzieci
  154. if(start->l_syn==NULL && start->p_syn==NULL)
  155. {
  156. //jezeli wezel jest korzeniem
  157. if(start->rodzic==NULL)
  158. {
  159. root=NULL;
  160. }
  161. //jezeli wezel jest po lewej stronie rodzica,
  162. else if(start->rodzic->l_syn==start)
  163. {
  164. //usun wezel z lewej strony wezla rodzica
  165. start->rodzic->l_syn=NULL;
  166. }
  167. else
  168. {
  169. //usun wezel z prawej strony wezla rodzica
  170. start->rodzic->p_syn=NULL;
  171. }
  172. delete start;
  173. }
  174. //jezeli wezel ma tylko jedno dziecko
  175. else if(start->l_syn==NULL || start->p_syn==NULL)
  176. {
  177.  
  178. //jezeli po lewej stronie nie ma dziecka
  179. if(start->l_syn==NULL)
  180. {
  181. //jezeli wezel jest korzeniem
  182. if(start->rodzic==NULL)
  183. {
  184. root=start->p_syn;
  185. }
  186. //jezeli wezel jest po lewej stronie rodzica
  187. else if(start->rodzic->l_syn==start)
  188. {
  189. //przyczep z lewej strony rodzica wezel bedacy po prawej stronie usuwanego wezla
  190. start->rodzic->l_syn=start->p_syn;
  191. //zmien rodzica
  192. start->p_syn->rodzic=start->rodzic;
  193. }
  194. else
  195. {
  196. //przyczep z prawej strony rodzica wezel bedacy po prawej stronie usuwanego wezla
  197. start->rodzic->p_syn=start->p_syn;
  198. //zmien rodzica
  199. start->p_syn->rodzic=start->rodzic;
  200. }
  201. }
  202. else
  203. {
  204. //jezeli wezel jest korzeniem
  205. if(start->rodzic==NULL)
  206. {
  207. root=start->l_syn;
  208. }
  209. //jezeli wezel jest po lewej stronie rodzica
  210. else if(start->rodzic->l_syn==start)
  211. {
  212. //przyczep z lewej strony rodzica wezel bedacy po lewej stronie usuwanego wezla
  213. start->rodzic->l_syn=start->l_syn;
  214. //zmien rodzica
  215. start->l_syn->rodzic=start->rodzic;
  216.  
  217. }
  218. else
  219. {
  220. //przyczep z prawej strony rodzica wezel bedacy po prawej stronie usuwanego wezla
  221. start->rodzic->p_syn=start->l_syn;
  222. //zmien rodzica
  223. start->l_syn->rodzic=start->rodzic;
  224. }
  225. }
  226. delete start;
  227. }
  228. else
  229. {
  230. //wstaw w miejsce usuwanego elementu - najmniejsza wartosc z prawego poddrzewa
  231. struct wezel *temp;
  232. temp=znajdzPoprzednika(start);
  233. start->wartosc = temp->wartosc;
  234. kasowanie(temp);
  235. }
  236. }
  237.  
  238. //przejdz drzewo w kolejnosci zaczynajac od wezla start
  239. void in_order_tree_walk(struct wezel *start)
  240. {
  241. if(start)
  242. {
  243. in_order_tree_walk(start->l_syn);
  244. cout << start->wartosc << " ";
  245. in_order_tree_walk(start->p_syn);
  246. }
  247. }
  248.  
  249. void pre_order_tree_walk(struct wezel *start)
  250. {
  251. if(start)
  252. {
  253. cout << start->wartosc << " ";
  254. pre_order_tree_walk(start->l_syn);
  255. pre_order_tree_walk(start->p_syn);
  256. }
  257. }
  258.  
  259. void post_order_tree_walk(struct wezel *start)
  260. {
  261. if(start)
  262. {
  263. post_order_tree_walk(start->l_syn);
  264. post_order_tree_walk(start->p_syn);
  265. cout << start->wartosc << " ";
  266. }
  267. }
  268.  
  269.  
  270.  
  271. void Clear(wezel *x)
  272. {
  273. if( x != NULL )
  274. {
  275. Clear( x->l_syn );
  276. Clear( x->p_syn );
  277. delete x;
  278. }
  279. }
  280.  
  281. void PokazDrzewo(wezel *w)
  282. {
  283. if(w)
  284. {
  285. PokazDrzewo(w->l_syn);
  286. cout << "wskaznik: " << w << " " << w->wartosc << " l_syn:" << w->l_syn << " p_syn" << w->p_syn << " rodzic :" << w->rodzic << endl;
  287. PokazDrzewo(w->p_syn);
  288. }
  289. }
  290.  
  291. int main()
  292. {
  293. int ileTestow;
  294. cin >> ileTestow;
  295.  
  296. for(int i=1; i<=ileTestow; i++)
  297. {
  298. root=NULL;
  299. cout << "test " << i << endl;
  300.  
  301. int n;
  302. cin >> n;
  303.  
  304. while(n--)
  305. {
  306. // PokazDrzewo(root);
  307. char command;
  308. int x;
  309. cin >> command >> x;
  310.  
  311. if(command=='I')
  312. {
  313. dodawanie(x,root);
  314. }
  315. else if(command=='D')
  316. {
  317. if(root)
  318. {
  319. wezel *element = szukaj(root,x);
  320. if(element)
  321. {
  322. kasowanie(element);
  323. }
  324. }
  325. }
  326. else if(command=='S')
  327. {
  328. if(root)
  329. {
  330. wezel *element = szukaj(root,x);
  331. if(element)
  332. {
  333. cout << element->wartosc << endl;
  334. }
  335. else
  336. {
  337. cout << "-" << endl;
  338. }
  339. }
  340. }
  341.  
  342. else if(command=='X')
  343. {
  344. if(root)
  345. {
  346. if(x==0)
  347. {
  348. wezel *element=naj_lewo(root);
  349. if(element)
  350. {
  351. cout << element->wartosc << endl;
  352. }
  353. }
  354. else if(x==1)
  355. {
  356. wezel *element=naj_prawo(root);
  357. if(element)
  358. {
  359. cout << element->wartosc << endl;
  360. }
  361. }
  362. }
  363. else
  364. {
  365. cout << "-" << endl;
  366. }
  367. }
  368.  
  369.  
  370. else if(command=='N')
  371. {
  372. if(root)
  373. {
  374. wezel *element=szukaj(root,x);
  375. if(element)
  376. {
  377. wezel *nastepnik = znajdzNastepnika(element);
  378. if(nastepnik)
  379. {
  380. cout << nastepnik->wartosc << endl;
  381. }
  382. else
  383. {
  384. cout << "-" << endl;
  385. }
  386. }
  387. else
  388. {
  389. cout << "-" << endl;
  390. }
  391. }
  392. else
  393. {
  394. cout << "-" << endl;
  395. }
  396. }
  397.  
  398. else if(command=='P')
  399. {
  400. wezel *element=szukaj(root,x);
  401. if(element)
  402. {
  403. wezel *poprzednik = znajdzPoprzednika(element);
  404. if(poprzednik)
  405. {
  406. cout << poprzednik->wartosc << endl;
  407. }
  408. else
  409. {
  410. cout << "-" << endl;
  411. }
  412. }
  413. else
  414. {
  415. cout << "-" << endl;
  416. }
  417. }
  418.  
  419. else if(command=='R')
  420. {
  421. switch(x)
  422. {
  423. case 0:
  424. in_order_tree_walk(root);
  425. break;
  426. case 1:
  427. pre_order_tree_walk(root);
  428. break;
  429. case 2:
  430. post_order_tree_walk(root);
  431. break;
  432. }
  433. cout << endl;
  434. }
  435. }
  436. Clear(root);
  437. }
  438.  
  439. return 0;
  440. }
  441.  
Success #stdin #stdout 0s 15240KB
stdin
8
217
I 74
S 28
I 98
R 1
D 24
X 0
I 33
N 17
N 62
D 21
S 71
I 69
N 69
I 0
I 83
X 0
I 7
X 1
D 34
R 1
N 57
D 30
N 70
D 80
D 56
R 1
R 2
N 9
N 53
D 16
N 68
R 1
I 67
I 55
I 79
S 9
N 14
R 0
R 1
R 1
I 78
D 91
D 27
S 34
N 36
N 95
X 0
N 96
D 89
N 36
X 0
I 42
N 4
X 0
R 0
X 0
S 45
S 63
N 53
D 58
N 1
D 73
I 12
I 39
R 0
D 6
R 1
N 30
R 2
I 54
D 92
D 38
X 0
R 0
R 0
R 1
S 40
R 0
I 96
R 0
S 81
I 73
N 36
R 2
X 1
X 0
I 10
N 49
X 0
S 0
S 55
D 51
D 18
R 0
S 67
I 43
R 2
R 0
S 39
X 1
S 4
N 37
D 64
N 61
R 2
R 0
R 2
I 21
X 1
S 86
X 0
N 22
S 56
R 1
N 32
I 9
R 0
I 83
S 6
I 16
R 2
R 1
R 1
S 57
I 86
S 76
N 13
X 0
X 0
X 1
X 1
X 1
N 44
R 0
R 1
D 4
N 38
D 10
R 2
D 79
X 0
D 34
N 70
S 59
I 33
R 0
D 35
R 0
D 74
S 8
S 40
R 2
N 0
N 9
X 1
S 59
R 1
X 0
X 0
I 26
N 2
N 33
N 13
R 0
I 71
N 83
X 0
D 11
R 0
R 2
R 2
N 53
N 7
N 78
R 1
D 61
I 20
D 55
S 84
I 5
N 74
R 2
S 96
X 1
N 98
N 87
I 46
S 29
N 25
S 88
N 54
X 1
S 86
I 90
R 1
N 85
I 28
S 6
D 39
I 79
R 2
R 2
I 38
X 1
I 73
D 18
D 90
D 18
I 5
S 1
S 31
R 1
R 2
R 1
N 10
X 1
I 66
234
N 37
N 35
X 0
S 91
R 1
I 4
D 76
D 92
S 32
D 30
D 56
X 1
R 2
X 0
R 1
D 13
S 75
S 6
R 0
X 0
R 0
D 69
S 53
R 0
N 25
I 96
N 36
R 0
I 39
D 86
R 1
I 76
I 9
D 65
R 1
X 1
R 0
S 55
D 39
X 1
D 43
N 66
S 26
X 0
R 0
D 84
X 1
I 20
N 64
I 47
S 45
X 1
D 19
N 70
S 40
R 2
D 62
S 38
I 49
I 74
N 18
S 26
X 1
I 75
S 36
X 0
I 66
S 73
I 34
N 14
N 17
I 11
I 29
N 10
D 18
R 0
D 34
D 99
X 1
S 13
S 21
S 73
R 0
D 41
I 37
N 84
X 1
R 1
N 26
N 38
X 1
S 85
S 41
D 76
S 11
R 0
N 19
I 65
D 50
D 17
N 90
D 71
S 46
N 8
R 2
D 40
I 42
D 20
R 1
D 63
S 28
X 0
I 1
X 0
N 49
S 38
I 94
S 27
S 50
R 1
D 52
I 98
X 0
S 72
N 18
X 1
S 17
I 42
S 9
N 51
R 1
D 15
R 0
N 65
X 0
X 0
I 63
D 19
R 1
X 0
N 30
N 60
X 0
R 1
D 49
S 29
D 31
X 1
X 0
I 28
R 0
N 23
R 0
D 40
S 91
X 1
X 1
S 87
D 95
X 0
D 2
I 78
I 71
R 1
X 1
R 0
S 74
R 0
N 19
I 92
R 2
I 74
D 72
I 59
I 12
S 33
N 19
D 91
R 1
I 0
D 34
S 34
I 94
D 20
R 1
X 1
I 12
X 1
N 96
I 20
D 85
X 1
I 18
I 26
I 13
D 39
D 72
X 1
X 1
D 47
S 66
N 54
X 0
N 60
S 98
D 10
X 1
I 14
R 1
N 70
R 0
D 5
R 2
X 1
R 2
N 25
R 2
N 99
N 69
R 0
R 0
N 66
N 73
S 52
D 90
N 64
N 10
I 84
D 92
R 1
D 31
X 1
S 52
I 49
214
X 1
N 53
D 71
N 49
R 0
R 2
S 40
I 77
X 1
D 62
X 0
I 13
N 97
S 17
D 57
X 0
N 27
R 2
S 3
N 34
X 0
N 88
N 3
X 0
S 74
R 1
S 75
N 17
X 0
D 43
I 34
D 79
X 1
D 90
S 34
N 7
N 88
R 0
D 96
R 0
X 1
X 0
S 63
D 73
R 1
I 38
I 65
S 30
X 1
X 0
S 61
X 0
I 14
N 40
I 62
X 1
D 61
R 1
R 1
N 89
I 84
I 46
R 2
I 44
S 38
N 84
S 64
I 97
D 89
S 35
X 0
N 74
S 65
I 11
I 98
I 53
S 87
S 10
I 98
S 91
N 50
S 86
S 18
X 0
N 85
N 68
S 47
D 96
N 87
D 57
X 1
N 37
N 5
I 45
R 1
X 1
S 64
N 54
D 20
S 63
X 1
S 97
X 0
N 43
N 39
N 2
I 76
N 62
D 73
S 20
N 30
X 0
N 93
I 94
I 25
X 1
X 0
R 0
N 91
R 2
S 70
D 14
I 66
D 62
D 97
D 80
I 80
R 1
S 92
S 40
R 1
D 38
I 15
S 12
S 29
N 8
D 72
X 1
R 2
S 90
I 89
I 29
D 80
S 49
X 0
X 0
S 51
N 75
N 17
X 0
S 8
R 2
X 0
R 0
D 53
X 1
R 0
D 75
D 30
S 99
X 0
R 1
N 35
S 97
I 7
D 98
R 0
I 50
N 18
R 2
N 70
D 11
N 40
R 0
D 53
I 43
S 57
I 75
D 15
I 43
N 98
I 97
R 1
N 8
R 2
N 85
R 0
S 88
R 1
X 1
R 2
R 0
X 1
I 62
X 0
D 36
N 13
R 2
N 13
I 59
N 56
D 93
X 0
R 0
N 81
S 60
D 3
R 2
N 3
N 24
S 52
X 0
D 17
D 70
169
N 3
D 63
I 2
X 0
N 86
X 0
S 88
X 0
R 1
R 0
S 7
R 2
R 1
I 60
S 34
N 73
I 7
D 81
R 2
D 48
R 0
I 66
I 11
S 15
I 35
D 19
R 2
X 1
X 1
D 33
R 0
X 1
D 30
R 2
I 74
D 80
D 58
R 2
N 52
R 2
X 1
D 47
D 25
N 6
N 50
R 1
X 1
X 1
R 2
N 12
N 10
R 0
I 38
S 90
D 84
X 1
X 1
X 1
X 0
I 46
D 37
D 79
R 1
R 1
N 91
I 84
R 2
S 74
R 2
X 0
X 0
I 8
R 0
D 81
I 32
D 37
N 66
X 0
S 20
X 1
R 2
I 90
I 64
S 63
D 98
N 89
R 1
D 63
R 2
R 1
D 28
I 62
N 68
R 0
D 69
I 47
D 85
N 89
S 25
R 0
I 6
X 1
X 1
S 58
I 75
I 62
X 0
D 7
R 1
R 0
D 51
D 45
X 1
X 0
I 34
D 78
N 31
N 88
R 2
N 39
S 30
S 51
I 73
N 62
X 0
R 1
D 96
S 23
S 29
D 58
D 60
S 15
I 9
R 2
I 85
D 85
D 64
D 82
R 0
X 0
D 74
S 8
N 76
R 0
N 7
I 15
X 0
I 32
I 1
I 61
D 2
X 1
N 69
R 2
R 2
N 4
S 6
I 24
S 73
N 53
R 1
S 82
D 21
X 1
R 2
I 92
S 30
D 30
I 30
248
I 73
D 71
S 10
D 84
X 0
D 83
S 10
D 91
I 77
N 25
R 0
N 69
N 61
I 25
N 74
S 60
D 28
X 0
N 51
R 2
S 57
N 17
R 1
X 1
D 2
D 52
X 0
I 86
S 59
R 2
N 41
D 27
R 1
R 0
R 1
N 97
R 0
I 12
R 1
D 30
R 1
S 54
D 8
R 1
I 86
R 0
N 89
X 0
D 34
X 1
D 1
D 40
I 84
D 7
N 37
N 1
D 84
S 48
D 13
X 1
N 61
I 62
N 50
R 2
D 76
N 9
N 1
R 2
D 45
S 4
N 86
D 86
R 1
N 48
S 82
D 43
N 45
N 32
X 1
R 1
D 9
S 8
N 9
I 29
N 62
N 6
S 37
D 73
R 0
S 68
I 91
S 53
X 1
R 0
D 94
R 2
X 1
D 54
I 64
N 68
N 55
S 13
S 13
N 34
S 71
X 0
R 2
N 79
N 42
X 0
N 24
D 64
I 7
R 2
R 2
S 90
I 21
S 25
S 31
R 2
D 87
S 20
X 0
I 60
X 1
S 10
I 0
I 91
D 56
X 1
R 2
D 1
N 28
I 75
D 63
I 34
X 0
R 1
R 0
D 62
S 33
N 33
S 37
S 16
N 63
X 0
I 27
S 48
S 83
D 93
X 0
X 1
R 2
R 1
X 0
R 2
R 2
D 72
D 80
S 95
R 0
N 88
S 41
N 31
D 3
I 8
R 1
N 30
S 96
D 95
D 99
S 70
R 2
I 41
R 1
X 0
S 34
R 2
S 58
R 2
X 1
R 2
D 87
I 62
X 1
R 2
R 1
D 40
N 74
N 51
I 67
S 68
I 73
D 70
X 1
D 89
S 76
D 18
X 1
R 2
D 92
X 0
D 58
X 0
I 71
S 14
N 78
X 1
X 0
N 46
S 23
X 1
R 2
R 1
N 32
R 1
R 2
S 14
I 87
D 29
I 39
I 38
S 36
N 89
X 0
I 8
N 43
S 20
I 24
R 1
I 41
R 0
D 90
X 1
X 0
X 1
R 0
S 67
X 0
X 0
D 9
S 26
I 74
X 1
I 39
S 9
I 40
S 8
233
S 3
X 1
N 93
D 59
R 2
D 69
R 2
I 64
I 17
S 43
X 0
I 29
S 91
N 20
I 10
D 3
R 1
N 18
X 1
I 54
D 92
R 0
S 47
R 0
S 8
I 18
N 99
I 93
N 22
D 82
R 1
X 0
D 83
R 0
R 1
N 9
N 86
D 44
S 4
X 1
R 2
X 0
S 64
X 1
I 0
D 61
D 4
X 0
I 7
I 8
N 39
D 64
N 25
N 15
R 2
R 0
N 47
R 2
D 81
X 1
D 68
I 53
R 0
S 99
X 0
I 52
S 39
X 1
S 63
R 1
D 94
X 1
X 1
N 21
N 52
S 97
N 18
N 58
N 60
S 0
D 21
N 98
I 47
I 86
R 0
I 94
X 0
N 2
D 55
N 51
D 5
I 68
S 18
D 11
N 47
S 98
D 18
I 15
X 1
N 4
N 62
I 75
X 0
S 13
N 43
D 73
R 1
N 91
R 0
D 54
D 85
S 23
I 44
N 3
N 29
X 0
I 51
I 81
I 83
S 25
X 0
R 0
X 1
S 46
I 6
I 25
S 75
N 25
I 62
D 1
D 37
N 0
N 27
X 1
R 0
R 0
D 1
N 76
X 1
X 1
D 54
I 37
R 2
I 73
I 84
I 87
D 95
X 0
D 28
I 47
I 6
D 88
D 59
I 6
I 27
D 52
S 43
D 74
D 60
X 1
X 1
X 1
D 26
N 60
X 0
D 35
X 1
R 0
I 56
D 63
N 6
D 99
X 1
D 19
S 23
R 2
I 69
R 2
I 47
X 1
D 42
R 0
R 0
R 1
N 50
I 94
S 30
X 1
I 58
X 0
S 2
X 1
S 13
S 56
R 0
N 15
R 2
I 10
S 8
N 59
N 73
R 1
I 91
N 23
I 39
R 0
X 0
R 0
N 80
N 33
N 28
R 0
X 0
N 44
X 1
I 74
I 72
I 97
R 2
N 49
S 66
R 2
X 1
I 29
X 0
X 0
I 64
N 17
I 71
X 0
X 1
N 91
N 35
249
R 2
N 60
X 1
X 1
I 41
S 96
I 6
I 7
I 29
S 12
D 31
N 5
N 70
I 31
S 53
I 12
N 77
I 88
D 25
I 55
R 1
N 45
D 48
D 10
X 1
D 87
N 70
S 20
X 0
D 40
R 0
R 0
I 44
I 5
S 69
I 26
I 45
D 52
N 73
R 0
X 1
D 38
I 9
N 16
D 43
D 94
D 17
R 2
N 76
N 5
X 0
R 1
D 28
N 8
N 28
S 61
N 36
X 0
I 89
D 18
N 59
S 99
I 76
S 18
D 51
N 61
I 75
D 10
D 16
N 23
S 2
I 46
I 39
I 85
N 86
D 44
R 2
X 0
S 66
N 33
X 0
N 66
R 1
S 0
N 62
D 88
I 26
S 89
I 79
I 29
S 87
N 83
S 56
R 2
N 51
R 1
N 88
I 91
I 60
R 0
S 77
R 1
I 1
N 75
R 0
I 76
N 17
N 20
R 1
N 69
R 1
I 28
X 0
I 91
R 0
X 1
D 94
X 0
I 6
N 85
R 1
X 0
D 75
D 73
D 24
S 82
R 0
I 36
N 47
N 72
R 2
D 24
S 5
I 43
S 26
R 0
S 66
D 52
N 38
X 0
X 0
N 77
X 0
R 2
D 24
I 85
D 86
D 10
N 57
X 0
X 1
X 1
S 56
X 0
X 1
S 95
X 0
D 50
N 30
N 5
R 1
D 34
D 51
X 1
D 90
R 1
N 18
X 0
N 21
X 0
S 41
I 28
R 2
I 46
X 0
N 86
N 8
I 35
D 72
N 89
D 33
I 56
D 29
N 1
D 2
N 16
R 1
R 1
N 35
S 19
S 44
D 47
R 1
N 88
N 62
X 1
X 0
N 3
S 36
I 70
X 0
D 44
R 2
N 41
R 0
R 1
N 6
S 94
I 27
R 0
S 80
N 73
X 0
I 85
N 88
I 90
S 22
N 28
N 44
I 45
D 21
R 0
X 1
X 0
X 1
R 2
R 0
S 1
R 1
X 0
X 0
D 5
I 62
S 24
S 95
N 30
D 43
X 1
R 2
X 0
R 0
D 31
N 63
I 21
I 82
X 1
R 0
N 51
I 49
135
I 78
D 0
N 61
S 64
I 95
D 69
I 54
N 94
I 31
R 0
X 0
S 91
D 71
N 13
I 62
R 0
N 95
D 92
D 11
X 0
S 71
N 21
N 46
X 1
D 29
N 7
R 2
D 80
S 61
X 0
S 80
D 72
D 81
R 0
D 33
D 52
D 81
D 50
D 12
S 32
X 0
R 2
R 2
D 32
I 40
X 0
S 61
X 0
R 1
R 0
I 0
R 1
D 80
D 63
I 6
N 37
I 2
N 43
N 12
X 0
S 6
R 0
N 25
S 80
D 91
I 24
S 87
N 65
D 10
D 76
R 1
N 96
S 56
X 1
D 85
S 35
D 41
D 45
D 27
X 0
S 16
I 81
S 72
D 31
D 97
I 89
D 29
I 79
X 0
S 13
N 71
R 1
X 0
X 1
D 28
N 42
I 9
N 38
I 1
S 47
S 90
S 11
I 11
R 2
X 0
D 37
I 2
X 1
D 29
S 86
D 93
S 96
D 54
R 1
S 95
S 56
N 89
S 61
I 91
N 87
S 53
X 1
D 82
R 0
X 0
D 30
X 0
X 0
N 86
I 13
N 6
D 95
I 45
X 0
D 71
stdout
test 1
-
74 98 
74
-
-
-
-
0
98
74 33 0 7 69 98 83 
-
-
74 33 0 7 69 98 83 
7 0 69 33 83 98 74 
-
-
-
74 33 0 7 69 98 83 
-
-
0 7 33 55 67 69 74 79 83 98 
74 33 0 7 69 67 55 98 83 79 
74 33 0 7 69 67 55 98 83 79 
-
-
-
0
-
-
0
-
0
0 7 33 42 55 67 69 74 78 79 83 98 
0
-
-
-
-
0 7 12 33 39 42 55 67 69 74 78 79 83 98 
74 33 0 7 12 69 67 55 42 39 98 83 79 78 
-
12 7 0 39 42 55 67 69 33 78 79 83 98 74 
0
0 7 12 33 39 42 54 55 67 69 74 78 79 83 98 
0 7 12 33 39 42 54 55 67 69 74 78 79 83 98 
74 33 0 7 12 69 67 55 42 39 54 98 83 79 78 
-
0 7 12 33 39 42 54 55 67 69 74 78 79 83 98 
0 7 12 33 39 42 54 55 67 69 74 78 79 83 96 98 
-
-
12 7 0 39 54 42 55 67 73 69 33 78 79 96 83 98 74 
98
0
-
0
0
55
0 7 10 12 33 39 42 54 55 67 69 73 74 78 79 83 96 98 
67
10 12 7 0 39 43 54 42 55 67 73 69 33 78 79 96 83 98 74 
0 7 10 12 33 39 42 43 54 55 67 69 73 74 78 79 83 96 98 
39
98
-
-
-
10 12 7 0 39 43 54 42 55 67 73 69 33 78 79 96 83 98 74 
0 7 10 12 33 39 42 43 54 55 67 69 73 74 78 79 83 96 98 
10 12 7 0 39 43 54 42 55 67 73 69 33 78 79 96 83 98 74 
98
-
0
-
-
74 33 0 7 12 10 21 69 67 55 42 39 54 43 73 98 83 79 78 96 
-
0 7 9 10 12 21 33 39 42 43 54 55 67 69 73 74 78 79 83 96 98 
-
9 10 16 21 12 7 0 39 43 54 42 55 67 73 69 33 78 79 83 96 83 98 74 
74 33 0 7 12 10 9 21 16 69 67 55 42 39 54 43 73 98 83 79 78 96 83 
74 33 0 7 12 10 9 21 16 69 67 55 42 39 54 43 73 98 83 79 78 96 83 
-
-
-
0
0
98
98
98
-
0 7 9 10 12 16 21 33 39 42 43 54 55 67 69 73 74 78 79 83 83 86 96 98 
74 33 0 7 12 10 9 21 16 69 67 55 42 39 54 43 73 98 83 79 78 96 83 86 
-
9 16 21 12 7 0 39 43 54 42 55 67 73 69 33 78 79 86 83 96 83 98 74 
0
-
-
0 7 9 12 16 21 33 33 39 42 43 54 55 67 69 73 74 78 83 83 86 96 98 
0 7 9 12 16 21 33 33 39 42 43 54 55 67 69 73 74 78 83 83 86 96 98 
-
-
9 16 21 12 7 0 33 39 43 54 42 55 67 69 33 78 86 83 96 83 98 73 
7
-
98
-
73 33 0 7 12 9 21 16 69 67 55 42 39 33 54 43 98 83 78 96 83 86 
0
0
-
33
-
0 7 9 12 16 21 26 33 33 39 42 43 54 55 67 69 73 78 83 83 86 96 98 
83
0
0 7 9 12 16 21 26 33 33 39 42 43 54 55 67 69 71 73 78 83 83 86 96 98 
9 16 26 21 12 7 0 33 39 43 54 42 55 67 71 69 33 78 86 83 96 83 98 73 
9 16 26 21 12 7 0 33 39 43 54 42 55 67 71 69 33 78 86 83 96 83 98 73 
-
9
-
73 33 0 7 12 9 21 16 26 69 67 55 42 39 33 54 43 71 98 83 78 96 83 86 
-
-
5 9 20 16 26 21 12 7 0 33 39 43 54 42 67 71 69 33 78 86 83 96 83 98 73 
96
98
-
-
-
-
-
-
98
86
73 33 0 7 5 12 9 21 16 20 26 69 67 42 39 33 54 43 46 71 98 83 78 96 83 86 90 
-
-
5 9 20 16 28 26 21 12 7 0 33 46 43 54 42 67 71 69 33 79 78 90 86 83 96 83 98 73 
5 9 20 16 28 26 21 12 7 0 33 46 43 54 42 67 71 69 33 79 78 90 86 83 96 83 98 73 
98
-
-
73 33 0 7 5 5 12 9 21 16 20 26 28 69 67 42 33 38 54 43 46 71 98 83 78 73 79 96 83 86 
5 5 9 20 16 28 26 21 12 7 0 38 33 46 43 54 42 67 71 69 33 73 79 78 86 83 96 83 98 73 
73 33 0 7 5 5 12 9 21 16 20 26 28 69 67 42 33 38 54 43 46 71 98 83 78 73 79 96 83 86 
-
98
test 2
-
-
-

-
4
4 
4
4 
-
-
4 
4
4 
-
4 
-
-
4 96 
4 96 39 
4 96 39 9 76 
96
4 9 39 76 96 
-
96
-
-
4
4 9 76 96 
96
-
-
96
-
-
47 20 76 9 96 4 
-
-
-
96
-
4
-
-
-
-
4 9 11 20 29 34 47 49 66 74 75 76 96 
96
-
-
-
4 9 11 20 29 47 49 66 74 75 76 96 
-
96
4 96 9 76 20 11 47 29 37 49 74 66 75 
-
-
96
-
-
11
4 9 11 20 29 37 47 49 66 74 75 96 
-
-
-
-
11 37 29 65 66 75 74 49 47 20 9 96 4 
4 96 9 11 47 29 37 42 49 74 66 65 75 
-
4
1
65
-
-
-
4 1 96 9 11 47 29 37 42 49 74 66 65 75 94 
1
-
-
98
-
9
-
4 1 96 9 11 47 29 37 42 42 49 74 66 65 75 94 98 
1 4 9 11 29 37 42 42 47 49 65 66 74 75 94 96 98 
-
1
1
4 1 96 9 11 47 29 37 42 42 49 74 66 65 63 75 94 98 
1
-
-
1
4 1 96 9 11 47 29 37 42 42 49 74 66 65 63 75 94 98 
29
98
1
1 4 9 11 28 29 37 42 42 47 63 65 66 74 75 94 96 98 
-
1 4 9 11 28 29 37 42 42 47 63 65 66 74 75 94 96 98 
-
98
98
-
1
4 1 96 9 11 47 29 28 37 42 42 74 66 65 63 71 75 94 78 98 
98
1 4 9 11 28 29 37 42 42 47 63 65 66 71 74 75 78 94 96 98 
74
1 4 9 11 28 29 37 42 42 47 63 65 66 71 74 75 78 94 96 98 
-
1 28 42 42 37 29 63 65 71 66 92 78 94 75 74 47 11 9 98 96 4 
-
-
4 1 96 9 11 47 29 28 12 37 42 42 74 66 65 63 59 71 75 74 94 78 92 98 
-
4 1 0 96 9 11 47 29 28 12 37 42 42 74 66 65 63 59 71 75 74 94 78 92 94 98 
98
98
98
98
98
98
66
-
0
-
98
98
4 1 0 96 9 11 42 29 28 12 12 20 18 13 14 26 37 42 74 66 65 63 59 71 75 74 94 78 92 94 98 
-
0 1 4 9 11 12 12 13 14 18 20 26 28 29 37 42 42 59 63 65 66 71 74 74 75 78 92 94 94 96 98 
0 1 14 13 18 26 20 12 12 28 42 37 29 59 63 65 71 66 74 92 78 94 94 75 74 42 11 9 98 96 4 
98
0 1 14 13 18 26 20 12 12 28 42 37 29 59 63 65 71 66 74 92 78 94 94 75 74 42 11 9 98 96 4 
-
0 1 14 13 18 26 20 12 12 28 42 37 29 59 63 65 71 66 74 92 78 94 94 75 74 42 11 9 98 96 4 
-
-
0 1 4 9 11 12 12 13 14 18 20 26 28 29 37 42 42 59 63 65 66 71 74 74 75 78 92 94 94 96 98 
0 1 4 9 11 12 12 13 14 18 20 26 28 29 37 42 42 59 63 65 66 71 74 74 75 78 92 94 94 96 98 
71
-
-
-
-
4 1 0 96 9 11 42 29 28 12 12 20 18 13 14 26 37 42 74 66 65 63 59 71 75 74 94 78 84 94 98 
98
-
test 3
-
-
-


77
77
-
-
13
-
13 77 
-
-
13
-
-
13
-
77 13 
-
-
13
77
34
-
-
13 34 77 
13 34 77 
77
13
-
77 13 34 
-
77
13
-
13
-
77
77 13 34 14 38 65 62 
77 13 34 14 38 65 62 
-
14 46 62 65 38 34 13 84 77 
38
-
-
-
13
-
65
-
-
-
-
-
-
11
-
-
-
-
98
-
-
77 13 11 34 14 38 65 62 46 44 45 53 84 97 98 98 
98
-
-
-
98
97
11
-
-
-
-
-
-
11
-
98
11
11 13 14 25 34 38 44 45 46 53 62 65 76 77 84 94 97 98 98 
-
11 25 14 45 44 53 46 62 76 65 38 34 13 94 98 98 97 84 77 
-
77 13 11 34 25 38 65 46 44 45 53 76 66 84 80 94 98 98 
-
-
77 13 11 34 25 38 65 46 44 45 53 76 66 84 80 94 98 98 
-
-
-
98
11 15 25 45 44 53 46 66 76 65 34 13 80 98 98 94 84 77 
-
-
11
11
-
-
-
11
-
11 15 29 25 45 44 53 46 66 76 65 34 13 89 98 98 94 84 77 
11
11 13 15 25 29 34 44 45 46 53 65 66 76 77 84 89 94 98 98 
98
11 13 15 25 29 34 44 45 46 65 66 76 77 84 89 94 98 98 
-
11
77 13 11 34 25 15 29 65 46 44 45 76 66 84 94 89 98 98 
-
-
7 11 13 15 25 29 34 44 45 46 65 66 76 77 84 89 94 98 
-
7 11 15 29 25 45 44 50 46 66 76 65 34 13 89 98 94 84 77 
-
-
7 13 15 25 29 34 44 45 46 50 65 66 76 77 84 89 94 98 
-
-
77 13 7 34 25 29 65 46 44 43 43 45 50 76 66 75 84 94 89 98 97 
-
7 29 25 43 43 45 44 50 46 75 66 76 65 34 13 89 97 98 94 84 77 
-
7 13 25 29 34 43 43 44 45 46 50 65 66 75 76 77 84 89 94 97 98 
-
77 13 7 34 25 29 65 46 44 43 43 45 50 76 66 75 84 94 89 98 97 
98
7 29 25 43 43 45 44 50 46 75 66 76 65 34 13 89 97 98 94 84 77 
7 13 25 29 34 43 43 44 45 46 50 65 66 75 76 77 84 89 94 97 98 
98
7
25
7 29 25 43 43 45 44 62 50 46 75 66 76 65 34 13 89 97 98 94 84 77 
25
-
7
7 13 25 29 34 43 43 44 45 46 50 59 62 65 66 75 76 77 84 89 94 97 98 
-
-
7 29 25 43 43 45 44 59 62 50 46 75 66 76 65 34 13 89 97 98 94 84 77 
-
-
-
7
test 4
-
2
-
2
-
2
2 
2 
-
2 
2 
-
-
7 60 2 
2 7 60 
-
35 11 7 66 60 2 
66
66
2 7 11 35 60 66 
66
35 11 7 66 60 2 
35 11 7 74 66 60 2 
-
35 11 7 74 66 60 2 
74
-
-
2 60 7 11 35 66 74 
74
74
35 11 7 74 66 60 2 
-
-
2 7 11 35 60 66 74 
-
74
74
74
2
2 60 7 11 35 38 46 66 74 
2 60 7 11 35 38 46 66 74 
-
46 38 35 11 7 84 74 66 60 2 
74
46 38 35 11 7 84 74 66 60 2 
2
2
2 7 8 11 35 38 46 60 66 74 84 
74
2
-
84
8 32 46 38 35 11 7 84 74 66 60 2 
-
-
2 60 7 11 8 35 32 38 46 66 64 74 84 90 
8 32 46 38 35 11 7 64 90 84 74 66 60 2 
2 60 7 11 8 35 32 38 46 66 64 74 84 90 
-
2 7 8 11 32 35 38 46 60 62 64 66 74 84 90 
-
-
2 7 8 11 32 35 38 46 47 60 62 64 66 74 84 90 
90
90
-
2
2 60 6 11 8 35 32 38 46 47 66 64 62 62 74 84 75 90 
2 6 8 11 32 35 38 46 47 60 62 62 64 66 74 75 84 90 
90
2
-
-
8 34 32 47 46 38 35 11 6 62 62 64 75 90 84 74 66 60 2 
-
-
-
62
2
2 60 6 11 8 35 32 34 38 46 47 66 64 62 62 74 73 84 75 90 
-
-
-
9 8 34 32 46 38 35 11 6 62 62 64 73 75 90 84 74 66 47 2 
2 6 8 9 11 32 34 35 38 46 47 62 62 66 73 74 75 84 90 
2
8
-
2 6 8 9 11 32 34 35 38 46 47 62 62 66 73 75 84 90 
-
2
90
-
9 8 15 32 34 32 46 38 35 11 6 61 62 62 75 90 84 73 66 47 1 
9 8 15 32 34 32 46 38 35 11 6 61 62 62 75 90 84 73 66 47 1 
-
6
73
-
1 47 6 11 8 9 35 32 15 24 34 32 38 46 66 62 61 62 73 84 75 90 
-
90
9 8 24 15 32 34 32 46 38 35 11 6 61 62 62 75 90 84 73 66 47 1 
-
test 5
-
73
-
-
73 77 
-
-
-
-
25
-
25 77 73 
-
-
73 25 77 
77
25
-
25 86 77 73 
-
73 25 77 86 
25 73 77 86 
73 25 77 86 
-
25 73 77 86 
73 25 12 77 86 
73 25 12 77 86 
-
73 25 12 77 86 
12 25 73 77 86 86 
-
12
86
-
-
-
86
-
-
12 62 25 86 86 77 73 
-
-
12 62 25 86 86 77 73 
-
86
73 25 12 62 77 86 
-
-
-
-
86
73 25 12 62 77 86 
-
-
-
-
-
12 25 29 62 77 86 
-
-
91
12 25 29 62 77 86 91 
12 29 25 91 86 77 62 
91
-
-
-
-
-
-
12
12 29 25 64 91 86 77 62 
-
-
12
-
7 12 29 25 91 86 77 62 
7 12 29 25 91 86 77 62 
-
25
-
7 21 12 29 25 91 86 77 62 
-
7
91
-
91
0 7 21 12 60 29 25 91 91 86 77 62 
-
0
62 25 12 7 0 21 29 60 34 77 75 86 91 91 
0 7 12 21 25 29 34 60 62 75 77 86 91 91 
-
-
-
-
-
0
-
-
0
91
0 7 21 12 27 34 29 25 75 91 91 86 77 60 
60 25 12 7 0 21 29 27 34 77 75 86 91 91 
0
0 7 21 12 27 34 29 25 75 91 91 86 77 60 
0 7 21 12 27 34 29 25 75 91 91 86 77 60 
-
0 7 12 21 25 27 29 34 60 75 77 86 91 91 
-
-
-
60 25 12 7 0 8 21 29 27 34 77 75 86 91 91 
-
-
-
0 8 7 21 12 27 34 29 25 75 91 91 86 77 60 
60 25 12 7 0 8 21 29 27 34 41 77 75 86 91 91 
0
34
0 8 7 21 12 27 41 34 29 25 75 91 91 86 77 60 
-
0 8 7 21 12 27 41 34 29 25 75 91 91 86 77 60 
91
0 8 7 21 12 27 41 34 29 25 75 91 91 86 77 60 
91
0 8 7 21 12 27 41 34 29 25 62 75 91 91 86 77 60 
60 25 12 7 0 8 21 29 27 34 41 77 75 62 86 91 91 
-
-
-
91
-
91
0 8 7 21 12 27 41 34 29 25 73 67 62 75 91 91 86 77 60 
0
0
-
-
91
0
-
-
91
0 8 7 21 12 27 41 34 29 25 71 73 67 62 75 91 91 86 77 60 
60 25 12 7 0 8 21 29 27 34 41 77 75 62 67 73 71 86 91 91 
-
60 25 12 7 0 8 21 29 27 34 41 77 75 62 67 73 71 86 91 91 
0 8 7 21 12 27 41 34 29 25 71 73 67 62 75 91 91 86 77 60 
-
-
-
0
-
-
60 25 12 7 0 8 8 21 24 27 34 41 39 38 77 75 62 67 73 71 86 91 87 91 
0 7 8 8 12 21 24 25 27 34 38 39 41 41 60 62 67 71 73 75 77 86 87 91 91 
91
0
91
0 7 8 8 12 21 24 25 27 34 38 39 41 41 60 62 67 71 73 75 77 86 87 91 91 
67
0
0
-
91
-
8
test 6
-
-


-
17
-
-
64 17 10 29 
-
64
10 17 29 54 64 
-
10 17 29 54 64 
-
-
-
64 17 10 29 18 54 93 
10
10 17 18 29 54 64 93 
64 17 10 29 18 54 93 
-
-
-
93
10 18 54 29 17 93 64 
10
64
93
0
-
-
-
8 7 0 10 18 29 17 93 54 
0 7 8 10 17 18 29 54 93 
-
8 7 0 10 18 29 17 93 54 
93
0 7 8 10 17 18 29 53 54 93 
-
0
-
93
-
54 17 10 0 7 8 29 18 53 52 93 
93
93
-
-
-
-
-
-
0
-
0 7 8 10 17 18 29 47 52 53 54 86 93 
0
-
-
18
-
-
94
-
-
0
-
-
54 17 10 0 7 8 15 29 53 52 47 93 86 68 75 94 
-
0 7 8 10 15 17 29 47 52 53 54 68 75 86 93 94 
-
-
44
0
-
0
0 7 8 10 15 17 29 44 47 51 52 53 68 75 81 83 86 93 94 
94
-
75
-
6
-
94
0 6 7 8 10 15 17 25 29 44 47 51 52 53 62 68 75 81 83 86 93 94 
0 6 7 8 10 15 17 25 29 44 47 51 52 53 62 68 75 81 83 86 93 94 
-
94
94
6 8 7 0 15 10 25 37 44 51 47 52 29 17 62 83 81 75 68 86 94 93 53 
0
-
94
94
94
-
0
94
0 6 6 6 7 8 10 15 17 25 27 29 37 44 47 47 51 53 62 68 73 75 81 83 84 86 87 93 94 
6
94
-
6 6 6 8 7 0 15 10 27 25 37 44 47 51 47 29 17 56 62 73 84 83 81 75 68 87 86 94 93 53 
6 6 6 8 7 0 15 10 27 25 37 44 47 51 47 29 17 56 62 69 73 84 83 81 75 68 87 86 94 93 53 
94
0 6 6 6 7 8 10 15 17 25 27 29 37 44 47 47 47 51 53 56 62 68 69 73 75 81 83 84 86 87 93 94 
0 6 6 6 7 8 10 15 17 25 27 29 37 44 47 47 47 51 53 56 62 68 69 73 75 81 83 84 86 87 93 94 
53 17 10 0 7 6 6 6 8 15 29 25 27 47 44 37 51 47 47 93 86 68 62 56 75 73 69 81 83 84 87 94 
-
-
94
0
-
94
-
56
0 6 6 6 7 8 10 15 17 25 27 29 37 44 47 47 47 51 53 56 58 62 68 69 73 75 81 83 84 86 87 93 94 94 
-
6 6 6 8 7 0 15 10 27 25 37 44 47 47 51 47 29 17 58 56 62 69 73 84 83 81 75 68 87 86 94 94 93 53 
8
-
-
53 17 10 0 7 6 6 6 8 15 10 29 25 27 47 44 37 51 47 47 93 86 68 62 56 58 75 73 69 81 83 84 87 94 94 
-
0 6 6 6 7 8 10 10 15 17 25 27 29 37 39 44 47 47 47 51 53 56 58 62 68 69 73 75 81 83 84 86 87 91 93 94 94 
0
0 6 6 6 7 8 10 10 15 17 25 27 29 37 39 44 47 47 47 51 53 56 58 62 68 69 73 75 81 83 84 86 87 91 93 94 94 
-
-
-
0 6 6 6 7 8 10 10 15 17 25 27 29 37 39 44 47 47 47 51 53 56 58 62 68 69 73 75 81 83 84 86 87 91 93 94 94 
0
-
94
6 6 6 8 7 0 10 15 10 27 25 39 37 44 47 47 51 47 29 17 58 56 62 72 69 74 73 84 83 81 75 68 91 87 86 97 94 94 93 53 
-
-
6 6 6 8 7 0 10 15 10 27 25 39 37 44 47 47 51 47 29 17 58 56 62 72 69 74 73 84 83 81 75 68 91 87 86 97 94 94 93 53 
97
0
0
25
0
97
-
-
test 7

-
-
-
-
-
-
-
-
-
41 6 7 29 12 31 88 55 
-
88
-
-
6
6 7 12 29 31 41 55 88 
6 7 12 29 31 41 55 88 
-
-
5 6 7 12 26 29 31 41 44 45 55 88 
88
-
5 9 26 12 31 29 7 6 45 44 55 88 41 
-
-
5
41 6 5 7 29 12 9 26 31 88 55 44 45 
-
-
-
-
5
-
-
-
-
-
-
-
5 9 26 12 39 31 29 7 6 46 45 75 85 76 55 89 88 41 
5
-
-
5
-
41 6 5 7 29 12 9 26 31 39 88 55 45 46 76 75 85 89 
-
-
89
-
-
-
5 9 26 26 12 29 39 31 29 7 6 46 45 75 79 76 55 89 85 41 
-
41 6 5 7 29 12 9 26 26 31 29 39 85 55 45 46 76 75 79 89 
-
5 6 7 9 12 26 26 29 29 31 39 41 45 46 55 60 75 76 79 85 89 91 
-
41 6 5 7 29 12 9 26 26 31 29 39 85 55 45 46 76 75 60 79 89 91 
-
1 5 6 7 9 12 26 26 29 29 31 39 41 45 46 55 60 75 76 79 85 89 91 
-
-
41 6 5 1 7 29 12 9 26 26 31 29 39 85 55 45 46 76 75 60 79 76 89 91 
-
41 6 5 1 7 29 12 9 26 26 31 29 39 85 55 45 46 76 75 60 79 76 89 91 
1
1 5 6 7 9 12 26 26 28 29 29 31 39 41 45 46 55 60 75 76 76 79 85 89 91 91 
91
1
89
41 6 5 1 7 6 29 12 9 26 26 28 31 29 39 85 55 45 46 76 75 60 79 76 89 91 91 
1
-
1 5 6 6 7 9 12 26 26 28 29 29 31 39 41 45 46 55 60 76 76 79 85 89 91 91 
-
-
1 5 6 9 28 26 26 12 29 36 39 31 29 7 6 46 45 60 76 79 76 55 91 91 89 85 41 
5
26
1 5 6 6 7 9 12 26 26 28 29 29 31 36 39 41 43 45 46 55 60 76 76 79 85 89 91 91 
-
-
1
1
-
1
1 5 6 9 28 26 26 12 29 36 39 31 29 7 6 43 46 45 60 76 79 76 55 91 91 89 85 41 
-
1
91
91
-
1
91
-
1
-
-
41 6 5 1 7 6 29 12 9 26 26 28 31 29 39 36 85 55 45 43 46 76 60 79 76 89 85 91 91 
91
41 6 5 1 7 6 29 12 9 26 26 28 31 29 39 36 85 55 45 43 46 76 60 79 76 89 85 91 91 
-
1
-
1
41
1 5 6 9 28 28 26 26 12 29 36 39 31 29 7 6 43 46 45 60 76 79 76 55 85 91 91 89 85 41 
1
-
-
91
-
-
41 6 5 1 7 6 28 12 9 26 26 28 31 29 39 36 35 85 55 45 43 46 46 76 60 56 79 76 89 85 91 91 
41 6 5 1 7 6 28 12 9 26 26 28 31 29 39 36 35 85 55 45 43 46 46 76 60 56 79 76 89 85 91 91 
-
-
-
41 6 5 1 7 6 28 12 9 26 26 28 31 29 39 36 35 85 55 45 43 46 46 76 60 56 79 76 89 85 91 91 
-
-
91
1
-
36
1
1 5 6 9 28 26 26 12 29 35 36 39 31 28 7 6 43 46 46 45 56 70 60 76 79 76 55 85 91 91 89 85 41 
-
1 5 6 6 7 9 12 26 26 28 28 29 31 35 36 39 41 43 45 46 46 55 56 60 70 76 76 79 85 85 89 91 91 
41 6 5 1 7 6 28 12 9 26 26 28 31 29 39 36 35 85 55 45 43 46 46 76 60 56 70 79 76 89 85 91 91 
6
-
1 5 6 6 7 9 12 26 26 27 28 28 29 31 35 36 39 41 43 45 46 46 55 56 60 70 76 76 79 85 85 89 91 91 
-
-
1
-
-
29
-
1 5 6 6 7 9 12 26 26 27 28 28 29 31 35 36 39 41 43 45 45 46 46 55 56 60 70 76 76 79 85 85 85 89 90 91 91 
91
1
91
1 5 6 9 27 28 26 26 12 29 35 36 39 31 28 7 6 43 45 46 46 45 56 70 60 76 79 76 55 85 85 90 91 91 89 85 41 
1 5 6 6 7 9 12 26 26 27 28 28 29 31 35 36 39 41 43 45 45 46 46 55 56 60 70 76 76 79 85 85 85 89 90 91 91 
1
41 6 5 1 7 6 28 12 9 26 26 28 27 31 29 39 36 35 85 55 45 43 46 45 46 76 60 56 70 79 76 89 85 85 91 90 91 
1
1
-
-
-
91
1 6 9 27 28 26 26 12 29 35 36 39 31 28 7 6 45 46 46 45 56 62 70 60 76 79 76 55 85 85 90 91 91 89 85 41 
1
1 6 6 7 9 12 26 26 27 28 28 29 31 35 36 39 41 45 45 46 46 55 56 60 62 70 76 76 79 85 85 85 89 90 91 91 
-
91
1 6 6 7 9 12 21 26 26 27 28 28 29 35 36 39 41 45 45 46 46 55 56 60 62 70 76 76 79 82 85 85 85 89 90 91 91 
-
test 8
-
-
-
31 54 78 95 
31
-
-
31 54 62 78 95 
-
31
-
-
-
95
-
31 62 54 95 78 
-
31
-
31 54 62 78 95 
-
31
31 62 54 95 78 
31 62 54 95 78 
31
-
31
78 54 31 40 62 95 
31 40 54 62 78 95 
78 54 31 0 40 62 95 
-
-
-
0
6
0 2 6 31 40 54 62 78 95 
-
-
-
-
78 54 31 0 6 2 24 40 62 95 
-
-
95
-
0
-
-
0
-
-
78 54 24 0 6 2 40 62 95 81 79 89 
0
95
-
-
-
-
-
1 2 11 9 6 0 40 24 62 54 79 89 81 95 78 
0
95
-
-
78 40 24 0 6 2 1 2 9 11 62 95 81 79 89 
95
-
-
-
-
-
95
0 1 2 2 6 9 11 24 40 62 78 79 81 89 91 95 
0
0
0
-
9
0