|
|
Linia 2: |
Linia 2: |
|
| |
|
| '''4c 61 20 6d 75 6c 74 69 20 61 6e 69 20 21''' | | '''4c 61 20 6d 75 6c 74 69 20 61 6e 69 20 21''' |
|
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@'@@@@@@@@@@#@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@+@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@#@@@@@@@@@@#@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@+@#'+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@#@@@@@@@@@@#@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@#@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@+@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@+@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@+'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@#@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+#+#@@@@@@@+@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@#:+#@@@@@@@@+@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@#@@@@@@@@+#@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@#@@@@@@@;@+@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@#@@@@@@@#@@@@@@@@@+@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@#@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@+@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@'@@@@@@@@@@@@@@@@#@@@@@@@@#@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@'@@@@@@@@@@@@@@@@+@@@@@@@@+@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@#@@@@@#@@@@@@@@@@@@@@@@@@@@@@@#@@@@+@@@@@@@@@@@@@@@@'@@@@@@@@'@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@,@@@@'@@@@@@@@@@@@@@@@@@@@@@@#@@@@+@@@@@@@@@@@@@@@@'@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@+@@@@@@@@@@@@@@@#+@@@@@@@@+@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@+@@@@@@@@@@@@@@@@#@@@@@@@@#@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@#@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@#@@@@@@@@@@@@@@@@@#@@@@@@@#@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@+#@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@#@@@@@@@@@@@@@@@@#@@@@@@@@#@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@#@@@#@@@@@@@@@#@@@@@@@@#@@@@@@@@#@@@@@@+@@#@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@#@@@@@'@@@'@@@@@@@@@@@@@@@@@@+@@@@@@@@+@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@+@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@'@@@@@+@@@;@@@@@@@@@#@@@@@@@@+@@@@@@@@#@@@@'#@@;@@@@@@@@@@@@@@@@@@@@#@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@;@@@@@'@@@;@@@@@@@@@+@@@@@@@@+@@@@@@@@@@@@@#'@@#@@@@@@@@@@@@@@@@@@@#@@@@@@@@#+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@'#@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@'@@@+@@@@@@@@@#@@#@@@@@@@@@@@@@#@@@@@@@@:@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@#+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@+@@@@@@@@@@@'+@@@@@@@@@@@@@#@@#@##@@'@@@@@@@@@#@@@@@@@@@@@@@@@@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@'@@@@@@@@@@@@@@@@@#@@+@#+@#@@@@#':,,;:@@@@@@@@@@@@@@@@#+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@;:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@#@@@@@@@@#@@@@@@@@@@@#@@@@+@@@@@@@@@@+@@@@@@@@@@@@@@@#+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@#:+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@#@+##@@@@@@@@@@@;@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@'+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+#@@@@@#@@@@@@@@@@@@@+@@@@@@@'@@'@@#@#@@@@@@@@@#@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:##@@@@@#@@@#@@@@@@@@@@@@@@@@@#@@#+@@@++@@@@@@@@'@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++@@@@@@#@@@#@@@@@@@@@@#@@@@@@@@@@+#@@#@@@@@@@@+@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@+@@@@@@#@@@+@@@#@@@@##@@@@@@#@@@#@#@#+@@@@@@@@#@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@+@@@@@@#@@@'##@#@@@@#@#@@@@@@@@@:@@@,@#@@@@@@;@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@@@@@@+@@@#@@#@@@###@#@@@@+@##@@@@@#@@##@'#@;@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@#'@@@@@@@@@@@@#;:;#@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@#@@@#@@+@@@@+@@#@@@##@@+#@#@@@@'@#@+@@:@@@@@'@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@#;,@@@#:'@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@#@@@@@@##@+#:@@#@#@:++@@+#;#+@@:@+#',`;@##@#@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+#@@@@@@#`+#@@@@@@:#@@@@@@@@@@+#@@@@@@@@@@@@@@@@@@#@@@@@##'@#@@#@#@:@@@@@#@@@@@@#+,#@+;@@+@#@@@@@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@;#:@@@@@@@@@++@@@@@@@@@';@@@@@@@@@@@@@@@@@##@@@@@;#::'@@@@@@+@@@@@#@#@@;@#:#@#@@@#@+@@@@@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@#@@+@@@@@@@@@@#'@@@@@@@@;@@@@@@#@@@@@@@@@@@##@@@@@;@'+'@@+@@@#@@@@##@#@@'@,###@@@@:@@@@@@@@@@@@@'@@@@@@@@@@@@@@@@#@##,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@#@@@@@@@@@@@@;@@@@@@@@#+@@@@'@@@@@@@@@@@##@@+@@+';+'@@+#@@#@@@##@@@@@@:@+:@@@@@#+@@@'@@@@@@@#@@@@@@@@@@@@@@@@##'` ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@@@@@'@@@@@@@;+@@@@+@@@@@@@@@@@##@@+@@#+'@,@@@;@+#@@#@+@#@@;##@@#@@@@:@@@@#@@@@@@@#@@@@@@@@@@@@@@@@##`` `..@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@#@@@+@@@@@@:@#@@@#@@@@@@@@@@@#@@@#@@#;;@@@@@:@'@@@+@#@#@@#;@#+@@@@@'+@@@#@@@@@@@#@@@@@@#@@@@@@@@#'` `.`.,`;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@##@@@@@#@;@@@@@@@@@@@@@@@#@@@#@@#+'@@:@@#@'@@@;##@@@#+#@#'@@@@#@@@@#@@@@@@@+@@@@@@#@@#@@@@@@'` `..+;:'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@+@'@@@@@@+'@+@@@@@@@@@@@@#@@@@@@@##:@@#@+@##@@#++@#@@:'@##@#`@@;#@@@@@@@@@@#@@@@@@@@@#@@@@@@'``````':;.:,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@#@@:@@@@@:@@'@@#@@@@@@@@@#@@@@@@#+#:@@@+#@@#@@#+;+#@@'@@'+@@#@@#@@@@@@@@@@#@@@#@@@@@#@@@@@@+ ```,.,,``.;;,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@+@@'@@@@'@'+@##@@@@@@@@@#@##@@@@:#;#@;'+@@#@@'#:###''#@;#@@@@'#@@@@@@@@@@@@@#@@@@@@@@@@@@#`````:.``...;.;:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@#@##@@@@#+#@#@@@#@@@@@#+@##@@@@;#'#@:@##;###;+;#@@;#@@;@@+@@:@@@@@@@@@@#@@@#@@@@@@@@@@@@:.``.`:......,,,,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@'@@@@'@@@@@@@+@@@@@#+@#@@@#@;#'#@:@+#'@@@+'+#+@;#@++@@+@;#@@@@@@@@@#@@@#@@@@@@@@@@@@@``:`.......,,:;+,:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@#@@;#@@;@@#@#@@@#@#@@@+@#@@@##;#+##;@##+@@@+:+#@:+#@'@@#'@#@#@@@@@@@#@@@@@@@@@@@@@@@@@@.`.....,..,,:;;':;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@#@@##@@'@;@+@@@+@+@@@#@+@@@#@'++'@+@###@@'@:+#''#@@+@@;@:@@@@@@@@@@#@@@+@@@@@@@@@@@@@#,,.,..:.:,.;:;;+;:.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@+#@@+#:@;@@@@@;@@@#@#@@@#@'@+,@#@#@#@@+@'#++'#@+#@'+##@#@@@@@@@+@@@@@@@@@@@@@@@@@@+,,,:,,:,,,:;;;'':;:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@#@@'#@@#:@;@@@@@'@@@@@#@@@#@+:+'@@@@##@#++':@:#'@:@@@+'@@@@@@@@@##@@@@@+@@@@@@@@@@##`::,:,,::,,:';;'+;':'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@#@@@@@@@@@#@;+#+@@@@@@#'@@#@@@@@+@+;;'@@@@+@#'+:;'#'#'++@@@'##@#@@@@#@'@@@@@+@@@@@@@@@@#;``,:,::::::';;''+++:;;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+;,:'#@+@@@@@@@@@'@:@+;#'@@@@@@;@'#@@@@#@';;#@@#@'@#;';;#';'#;#@@##@@@@@@@@@@#@@@@#@@@@@@@@@##.```.,;::::;;;''+'+++';;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,:+@@@#;:;+@@@+#@@@@+#@,#''#+@@@@'@'#@@@@#@+;+#+@##'#@;##;+''#'+@@@'##@@@@@@@#'@@@@##@@@@@@@##'`````,,:::;:''';;++++##;#+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::@@@@@@@#@+;;#@@'#@@@#@##@'+#'#@@@+'#@@#@@#@#;##'@##+@##++''+##+@##@#@@@@@@@@#+@@@+@+@@@@@###+. ```..`,,::;':;'';'+++###''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;+@@@@@@@@@#@@;+;@@#+#@@'@@+@:'@+@@#@#@#@#@'#@#:+##@+;+###';;;'#+'+@@;##@@##@@@@#@@#@'@@@@@##:`````.``..,:;;;;'#'+''++####'+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#.'#@@@@@@@@@@@@@@#';@@@+@@@@@##'#@;@@#++@@@'++#@#,#+##+++#'#'#++#++######@@#@@@@#+@@@@+@@@@##, ``.`.```.,,;:;;'++'''''+####@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;+##@@@@@@@@@@@@@@@@#:'#@@+@@;++:+'+#@@###@+@##++@#,#+##+##'+,++'+:;;#;@'+'#@##@##++@@#+@@@@#'`` ```````,,,:';';'''+'''+++####+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@';@@+@@@@@@@@@@@@@@@@@@@;##@#'@@#@###+#+@#@##+@@#++#',''##;+##+;'+''++#'+.;+@#@#@'#+@@@@##@@@#.```,.``,.``,,.::;';;;+'++'+++#####''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,#@@;@@@@@@@@@@@@@@@@@@@#@;###@#@+@#'#+#,@@@+'#@@@#'##,:++'':+##:''+##+#;'';+@###+@'##@##@@#@#` `.,` `.`.`..`::::;+'+#''++++#+#@@+#'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;+@@@:@@@@@@@@@@@@@@@@@@#@@#@;##@@+@###+#+;.+@@'#@@@+###,;'+#.''++'+'+##'+#;#'#+,....'@@###@@@+` :..``.,,.,.`..;;::;'+#'''+'+++#####+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@@@@@#@@@@@@@@@@@@@@@@@@@#''#@:#@@+;+#@'#.#;##@+#@#+####,;##`'+::;++';+:;+#,;,;'@+,+@#,;#+@@@#+`,` ```,`..:,..,:;::''';++''###+##@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''@@@@@:@@@@@@@@@@@@@@@@@@@@@@@#+';+@@#''@';@';+;+,###;####:'+#''+#:;+:'+;#'##,;@#'#;@##@+#.@@@@@',```..```.,,,,,;;';;''+++'++##'+#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@:#@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@;''@#';#''#:;;+'+###,##'+:''+'+++;;+;++':##,:+@@#:#'#@#@+@,#@@+#.`````.,...,'::;;;'''+'++'+++'##+####@@@@@@@@@@@@@@@@@@@@+#@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@'+;#@:,#+,,:;#'#+#;:##'#;';;++:'.;+,#;;#';++#@#:+'@@@#+#@#,@++'#`.``...,.,;::::;;+'++##++'+#+'+##+#@@@@@@@@@@@@@@@@@#''@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@#@@@##@+@#;:#,#:'+;#+#'++#'#:'':++'+,'''+''++':##@;'#@##+#@@@#@.;@##`....,,,::,::;:;''++++#+++++#+'+++#@@@@@@@@@@@@@@@#'#@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@;#@@##+##@''+'++'';@;':#++;::++:+;+;'+':#:'''':#@+#@+#@#'##@#@'#;###;`..,,:::::'':;'+++;+#+++'#+#+#++#@@@@@@@@@@@@@#+#@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@#,#@'@+'+@@':'+#';+#:+'#':';;++'':#+;';,:';+;:.+#'#+@@'@#@@#@;@@+;+@#..,,.:::;:';;;++;++##+##.;+#+++#@@@@@@@@@@@@++#@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,@@@@@@@@@@@@@@@@@@@@@@@@#@@#;#'@@'''@+;#,#:;+,'+##;';;;+,#':';;'',:'#;:;;;':#+##@:@+@@;###:,+@#...,::;:;;:+;#;#++###+#'..'+#+'@@@@@@@@@@+#@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;##+'###+#+#+;''.:':'+#+:+'::+'':':,';+'''+;,+'#+'+;#'+#+;@'#+#+@#+###`.::,'';;''+'''+##+###@@#,.,#@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:@@@@@@@@@@@@@@@@@@@@@@@@@@@@#;,'##+#+#+';#:#,',+,+::'':,';#;;;:;',;+',';':+:##;+';'+#+#++#@@#:;#'.::,,;;;'';+''++###+#@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@#;.;#'+';#'''';;'';+,::+::':+'+':;':;;'+''::;++'::#,#+###+#@#++#####:::;';';'++'#+'####@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#@##+;##++:#:;'#::;':,:::,;';+'+;;;,''.:+;+;#'#;''#+;#'+@'##:##@@'@#@.;;';;''+''+#++##'@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@#'+''##;+';+'':'+#:::':.;:+;;';:,'':';::';+,;;+::#''##+:+#+@@@+@@##';';:::,,,,:++#+@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+#+;#;;,+:+;:++,:+#;;;';:;:;,::,'::','';''',':;++#;:##;#'##@@@@@@#@+`;'+''''++###,:#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###'+#,',+++'+;;+;+::;';:;:;:.:,::;;';':':'','++''++#+:+#+'@@@@#+'#@+;#'''++'#+++##+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###,++;+:'+;:+:,.+,,'';;:;:;,,,:,:;;;;';''+,#++'++#+:#++'@@@#'#+@@@@.''''+'+''###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@###;++;+,;+,',,'+',;';:;;:'::::;:,:,';;,,''+':++#+:##+#@@'+@#@+@@@@:''+'''+'++#@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@#++#@@@@;@##:'#';':#;;;;;::;.:;,:::;:,:::';,:+;::,:+;::,;,:##++@#;@+@#@@@#;;#,'';'+'+#+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:@@@@@@@@@@@@@@@@@@@@@@@@#,'#@@#+;;@@;##@++';:':':;;:,.;:,,:;::::,::::';;+';::+;.,;++'##+'##;@+@#@@#'###+''''''''+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@.#@@@@@@@#@#,#+'+@'++:;;+';,::'+'.,:;;.:,,:::;:,:;:;:+'.;.#'+##+;+@+#+++@#'@'#+@@#,'+;'+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@@@@@@@@@@'@@#;+#'#+,'+;,':.;,;';,.::;,..,::,;:'':,;::.;;#;++.+;'''@+@'@'@@@+#@@@;'''+'++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@'+@@@@@@@@@'':@@@++#;,;,;:;:':,,:::::,:.,.,.,:;;:,;::;+.,,,:#'+''#'#+#@:+@#@#@##'##+'.'+';#####'::#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@'@@@@;#,+;'';;;;;;::.:,:::,.,.,,,:;;::;:,;::,',#:+:'#'##+#@###@###''#+@#;'#@@@@@@@@@+,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@'#@@@@@@@@#::+##;:+@#:;:';';'::;:,;.,.,..:..`,:;:;::':,,,'.'+';++;''++#@##@@+'+###:.#@@#@+@@@@@@@@@@@@:#@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@,'@@@@@@@;+@@@@@@@+'+;+';:;;:;'::::.:.,..,..,,,:;,,:;::;'.:':;;+;;#';@@+##'+@#';+#@@@@@@@@'@@#@@@@@@@@@##@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@:@@@@@@@@@@@@@@@@@@@@@@@:@@@@@#.@@@@@@@@@#+#+#+':,;;,,:',:,,.,......,,::.::,,;,.;+';';+:+,+##+++#'+:+'#@@@@@@@@@@#@@@@@@@@@@@@@@#@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@#+';:'#@@@@@@@@@@@@@:@@@@@ @@@@@@@@+,++#+';#;;,.,::.,:,..`..`.....,,,.;;:;,;;;+#;+++''#+;'+++'##:@@@@@@@@@#@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@#+':'#@@@@@@##'#@@@@@@@@@+@@@@@`@@@@@@@;#@@@##+#'';:,.,,,,,,...``.....,,,:,,::,:';''',':#++'+;:;:+++#+@@#:;+@#@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@#;#@@@@@@@@@@@@@@#++@@@@@@@@@@@@.@@@@@@'#@@@@@#;'##:;:,...,,,....```...,,:.,,,,;';;:;;,,::;#:;:;#++@+:#@###+#+#@@@#@@;@#@@@@@@#########+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@##@@@@@@@@@:@@@@@@:@##@@@+;+##+,;...`....````````....,,..:;.:,;;;;;;;':::''##''#@'@#@@@#@@#+#;@#############@@@@##@###+''+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@##@@@@@@'@@@@@,@@@+'#@@@+#+:#:;,..``..````````......`:;:;::+:;;';;,,+#'::##';';;';'+##'+@@@+@@'#@@@@;#@@@@@@@@@@@@@@@@@@#+''#@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@+@@@@@+@@@@@@##@;,+''':..:``.``````````.,.`.:.:;;:,:;;:;:'+'+;;::+'###'+;###@#:;###@@@@+@+#@@@@@@@@@@@@@@@@@@@@@@@@@@#;'#@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@,@@@@@@@@@'##'.,,'.,.``````````````.`.,.;,,,...:;:;:;;:,;:#;;+''+:'##@@@@@@#,;+;;;,@@@@@@@@@@@@@@#'++++#######@@@@@#;;@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@'@@@@@@@@+#;#++;`;,,..`````` ```````,.,,,,::;.:.:;',:::'+';'#+########@@@@@@@+:@@@+@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@#:+@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@+##'':,``:`..```` `````.....::..,,,.,';:..:;;,'';'++'++##';;#@@@#+#''#+#'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+;@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@,'#+#:;'+``:``.```` ````````...,,,:::::.:.,:;,,++''#@####+#####+;:#@@@@,@+@#'@#+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#;@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@`.##..`,;.````..` ` ```.`...,,:,,,::.;,:,::,',+###':+###''+@@@@@#''@@#'+@@+:#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+;@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#``;#````;,..:```` ````````..,,,:,,:;;'+';;';'''''#++;::''+###+'''++'#@+,+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@+.`.'````::,.;.```` ``````....,,,::;:,;.`,:;;'+';;';##@#+;##+';;+#@##';#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#,@@@+,`.'.``.::',.,``.` `````...,,:,,,:::::,:'++'+;##+'@@@@@#;+#####+,;+#;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##.#@@#:..,:...:;::;:.``` `````..,,,::,::,:+'';+';,'+;######@@@@#:######+++##;#######++++#'@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###`.##'@;,.,+...,;:;;;.``` ```..`..,.,:,:.,+'+;#'#+#+;+';++#@@@@@@:@@#'#@##@@@+#@@@@@@@@@@@+:#@@@@@#@@@@@@@@@@@@@@@@@@@#@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+.` '.:#'+,,;,:''+;',.,.`` ``````.,,,,:,:;;;,;''''#'##+;#####++#####:;#@@@#@##@@#:####+++###@@#;@@@:#@@@@@@@@@@@@@@@@@@@:@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##,` ``..,'#:+:;####+;,;;;``` ``````..::,,:,;;'';;:;'''###,+++##@@@@#+:++@@@########@+;@@@@@@@@@+;;++:@@@@@@@@@@@@@@@@@@@@@,@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@###:`` `.,.,;;###@####+','';``.`` `````.``.,,:;':,::,,+####+#####@'####'''#@@@#'###+#@@@@@@#;+''#@@@@@@@@#+@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@##;.:` ```.,;;'##@####+#+;.',:..`` ````..,:,::,::,::,;:'++;;;+'#+''#@@#########@@#++@@@@#+#@@:@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@##',` ```.: ;;###@@######+',;,;..``` ```````..`.::,,::;,,:''':'+######';'@@@########@@#####+#@@@#@##;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@##':`` `::+,#+'#+######'++:.,::,````` ````````.,:,.,:,:,,:;::'#.++''+##+####@@@@@+#+#@@@@@@@@@+;#@@#@@'##+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@##;', ```.,##+#@@@@@##'#::,`':,..`.``````..``.,.,:;,,,:;;:;+:;;:'++';'+##+##+#+'@@+@#++@@@@@@@@@'##+#@#'@@#++@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@##.`.` ..`,+@@@@@@@@##''';;`';:.``.````````,.`..,::,:,.;::::;:;;;;'++#@+'++++'###+;##@@@+'#@@@#@@@'#@#++:#@@@@#'#@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@##.`` `` `:@#@@@@@@@#:+#+:.;;:,...```````....,,,;;':::,;,::;:,+:##,'++;@@#;++,+;'#@@@@@@@@'+@'@@@@@'#@@@;++#@@@@+'#@@@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##:+` `` ```` `:;;@#@@@@@@#,'#;'+,;+';....``..``.`,.,:::.';+;,;;;;.;'::;'#+#'+#'#@@+@@@####@@@@@@@@#;@@@@@@@;@@@'+#+;#@@@@++@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+`` ````.;'``''@@@@@@#:+#@##+:''';,....`..```..,,;:::.;';':;:';',;:',;,+##'#@#'@@@@@@@#+@@@@@@@#@@@@@@@@@++@@++@@#'+@@@@#;@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##;.,` ```````.;;:';:@++#@@++###@###,;''';:,,.`.`.`..,,.,:,::;:;';';;:,:';::+,'++##'+@@;@@@@@@@@#+@@@#@@@@@@@@@@@@;#@++@@@@''@@@@@'#@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###,`.` ```````,;..:;,:;@@#@@#++@@###+++'':::,,...:,``,.:.,,::;:;:+'+';++;+:+;+;;:'+++#;#@;#@@@@@@@@#+#@@@@@@@@@@@@@@#+@#+@@@@@'+@@@@@'+@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###;:`` ` `.``.`,:'';:.;+:;+#@##@,'#@###;',++;::,:,:`...,`.,;,;;,;'::':#+#+;;;+#;;:+#;.'+###:##'@@@@@@@@@@@'@@@@@@@@@@@@@@:@#+@@@@@@:#@@@@@++@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###.`.` `.`.. ;`'.+:.:.+,':##'##;'#@+##+;'#+;;,.,.:..,``..,.:,;:,,+;.;;+'#++;#;#,#::#++''+;#+++;@@@@@@@@@@@@'@@@@@@@@@@@@@;@'@@@@@@@#;@@@@@@.@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@###':;`` `` `.`.``..':'':';;;:';;++#'@++@++;';##'':;..:,,.,.;,,;..::,::'',::':;;#'';;##:#.#@#+'+++#,#+#@@@@@@@@@@@@++@@@@@@@@@@@+#:@@@@@@@@#@@@@@@++,#@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@###+,```` ` `,`.`.,:;':+++':;:'.`,;+:+@###'#++#@#+;,:.,:...,,`.,:,,:,:::;'+,':';+#'''#+,#'+;+#@@#'':#++'###@@@@@@@@@@@++@@@@@@@@@@#+:@@@@@@@@@@@@@@@@@,###@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@####,.``` ` `.``,``..,,;':#+'+,'.+:...,+@@@@+##:+#@#''::;::,:.,.:,,:.::,::;.,''';':#:+#;##:+:##,;+##@@'##@#;##@##@@@@@@@@@@@#+@@@@@@@@@#'#@@@@@@@@@@@@@@@@@:@@@##+#@@#
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@###;,``` .``:``:..,;:'##;','`'`,,,.:.#@@@:#@#''@###;:;:;;:,,:;,.,,':;,;;:;''':+;,':+#+##:+###;:#+##@#'#@@'+#@@#+@@@@@@@@@@@++@@@@@@@@@:@@@@@@@@@@@@@@@@@@:@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@###'.`., ``.``,``'.,::'++';',',;.`..,:::;@@@'#;##@###'';:;:';.,.,,,::.;,::;+;:;+;;+';';':+@##'++#'#@+###@'##@#++@@@#+@@@@@@@@@@@'#@@@@@@@@:@@@@@@@@@@@@@@@@@@;@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@@+###,,`` .``:``+.,':;++;;;,;,,``.,....+'@@#@#++@#@++++;,;:':..::;,:,,,.;,,:;,#:#:+'++';'##@:####'##@#+@+#++@##'#+@@@#+@@@@@@@@@@@;@@@@@@@###@@@@@@@@@@@@@@@@@;@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@@@@@#+#,```` ` `.`:`.'.;+;;++,';;':..``..:;:+::.@++;+@@@@++'+;:'''::,;,,;.;::;,'::+;;#;#,::'''',##+###@:##+@@'@@;#;@@@:@#+@@@@'@@@@#@#@@@#+@@@@@@'@@#@@@@@@@@@@@@@@@@+@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@@#####,.,,` `. `,`,..'.'+'+'+,+'':,.,`.,.,':..,;+####'@@#@##'+'+++;',;,,:',,;,:'';;:+,+#;++++#+;+';`+@@##@@'+@@+@@#+,@@@:#@##@@@#'@@@@@@@#@@;@@@@@#@@@##@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@@@####.+``` .````.:`+.;+'';#'+,:.,```..`.;''':;'+'+'+@:##++;'+;'+#'';';:,:::;.:';',:++;'#;;'+;#+;';'#####+#@#'@@##@@+,##@;@#@+@@@@+#@@@@@#@#;#+@@@@+@@@@+@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@@@@###+..`;` ```,``'`+.'':;;#'+:,.,..`.,;,::,::;':+#+#'@@@#'+#+':+'';+':;;;'':':,;;';:;+,++#,+'#:++,+,;@@;@###@@;#@@'@@@,@@@;@@##'@@@@'#@@@@@@#++;@@@@@@@@@@+@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@@####'.``.`` `.`.` ;.;:;+,,.+:',..:....`..:;;;#'+#'##++@@@@#@+'##'::+:+'',:::;:,::,;;;,;;+;#'+;+''+'':#;;#@####+@@##@@:@@@'#@#'@@@##+@@@@;@@@@@@@#'+#@@#@@@@@@@#@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@@@###'.'`` ` ` `.``` ;`';,',:.+::,.,````..::;'';'#+#+@@#+:@@@@#@++++;++;+'+':;.,:':'.,';.;;+;,+@',++#+;#::@';+@@+##@@@#+#@,@@@#;@@;@@@@#'##@@'+#@@@@@@#'+@#@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@@###'```:. ```````.;`'+::,;.':,:.:.,`.,.,:.,++;@+##@@@#@#@#@@@@#+'+'+';+';;'+::'',:`;;+;;';+'+'#+#',;+#:#;@';,+@#+@@@@@'##@+@@@;@@;@#@@@++@#@''@@@@@@@@#:@@@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@@@@#::.```` .``````.,,:+;;,;';;.;.:..```.;+';++'##@#@@@+;#@@@######++;+;;;;;:';;;;::::';#;#;''',''#:#;:###+';#+#+'###@@@@@+####+@@+:,;@@@@@@;#@##:@@@@@@@@@:+@@@@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@@@#+'#,,``` ```.``...;:+;;:;;:'.'...``.,,,;::;++##@@@@@@@@+@@@@@#'##++:#;;,:+:;:;;#'';';#':'#::+;#+;##+''@#'#+'##'#+@@;@@@@@#+#;@@@@@@#:@@@@@@#'@@#'@@@@@@@@@;@##@@@@@@@@@@@@@@@@@@@@
| |
| @@@@@@@@@##+,'+..` `.`,`..,:';+;;;;;:'`'.:.`....,;;++'##@@@@@@@+;@#@@@@@#,##++:#;,::+::::;;;',:;+:#;+;+'#:+#;::+:+@:@##;+#:##@#,#@@@@@'@+#@@@@@@;#@@@@@@'#@@##@@@@@@@@;@@+@@@@@@@@@@@@@@@@@@@
| |
| @@@#+#++;;:;.;:`` `` ,`,`.:,:';';;;;',+`',,,``.,;;;;,''##@@@@@@@@@+@@@@@#@+@'@#;'+':::#:+;+#';;::::#';'#:#:,;'#'#'+###@@;#;'@'##@@##@@@@@'@#'@@@@@#+;@@@#@#+#+@@##@@@@@@@'#@@+#@@@@@@@@@@@@@@@@
| |
| #:#,'+##';';.`. ` ` ``.`. `'.'':;';';',+`;:..`.,...:++++#@+@@@@@@@+#@@@#@@+##@'@#''#+:':#:'''';#',+::+,#'#'++';:'@,######@@,+'+@@@#@@@+@@@@@;@@'@@@@@##+#@@@##@'#+@@@+@@@@@@.@@@@+#@@@@@@@@@@@@@@
| |
| ,.##+#';';...`. ` ```` ```,`..#`+:.+++#;'`+`,:`.``,,;::#+##@@@+@@@@@@@+:@@@@@@@+@+#@#';#+;+'#:''#',#';';:'#';##:+.'#++++#;@+:@@##+'+@#@:@@@;@@@@@'@@@@@@@@'@@@@@@@+@'@##@@@+@@@@@#@@@@@'#@@@@@@@@@@@@
| |
| .:.:#';:...`.`` ` ` `````..`,`'`'.'':####+'.#`,;....,.;;.,++#@@@@#@@@@@@#@#@@@@+@@:@+@#+':#+;+++;#;'':,,,::.;#;#'#+@#:'#'#;+:@#+#@@:@+++@@@+#@@'@@#+@'@@@@@@@@,@@@@@@@@#+@@+@@@#+@@@.@@@@@@@'@@@@@@@@@@@
| |
| `.#;:,..... `. ` . . `````:`;:.;+####++:+.::``.`..:''+#+@@@@@@#@@@@@@++@@@@@@@@'@+@#;';'';##;'#':++++#;':+;'#;##;#:;+#';#'#@@##@@'@'+@@@@@#@@+@@@+@'@@@@@@@@+@@@@@@@@@#+@@+@@@#+@##@@@@@@@#+@@@@@@@@@
| |
| ..'` ...`.`. . `````````.:,:,;#++++;',+,.....,:::::'+'@@@@@@@#@@@@@@@'@@@@@@@@#@'+'+;'#+;+':'#+:+#:#''';:.#';+#:.#;#+###+##@'@#@#@@'+@@@@@#@@##@;@@+#@@@@@@#@@@@@@@@@@@;@@##@@@##,@@@@@@@@@+#@@@@@@@
| |
| .`.``.....```` ` ` ,`:```,.`.:+:'++':;,;:.,....`.;:;+#+#@@@@@@@@@@@@@'@+@@@@@@@@+@;@'#';##';++###;'#'#++;:;:#;+;++'#'+#+'#####:@@#@@@@++@@@@@#@@@+@#@@+@@@@@@@;@@@@@@@@@@@;#@@##@@@##@@@@@@@@@@'#@@@@@
| |
| .::``....`. . `` `. ,``.'```'':;#+;:;,',..`...:;;'''+'##@@@@@@@@@@@@@#@#@@@@@@@@+#+#;#:'+',:+######,##@#'':++@#'####:;######'#+@#@#@@@#';@@@@@#@@@+,@@@@@@@@@@@;@@@@@@@@@@@'#@@@+@@@,+@@@@@@@@@@',#@@@
| |
| .,``....`.`. `. ``.`.:;,..;+;:''';::,;:.,...,,,..'#+#@@@@@@@@@@@@@@@+@@@@@@@@@@@+'@@;@';+;+'#@####'#''#'';,:'#;;'@:,';;++'#++;'#@#@#@@@'';@@@@@#@@@;@#@@@@@@@@@##@@@@@@@@@@@+#+@@##@#@#+@@@@@@@@@@+,+@
| |
| .`,``......`,` ```.```,`,,:+;++;';;:,;:.,,..,:'+:+'+#@@@@@@@@@@@@@@@@:@@@@@@@@@##+#'@+@+';##+#@##+;;#;;#'+';+:##++###++;@#;'#+#;;@@+@#@@@';;@@@@@#@@@@#@@@@@@@@@@:@@@@@@@@@@@@+###@@+@;@@#+@@@@@@@@@@#;
| |
| ...`...`,,,,,.```````..`:':+'';;;:;::::`:..,:..:;''+##@@@@@@@@@@@@@@@@@@@@@@@@@##@#+###@':;#+++###+;,#;+++#;,.:+#;;#@@'';#@@+'+++:@@@'@#@@@++.@@@@@+@@@'@@@@@@@@@@@:@@@@@@@@@@@@##@##@##@@@@+#@@@@@@@@@@
| |
| ..`...`.,,,,.,`.`.`,,,.'+:+';::;:;::;:.;,..::;;'##+#@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@#'@;##+;:#'''#+##';@+###;',;:+#+';@@@,:+@#@;@'';@@@@+@+@@####@@@@@+@@+@@@@@@@@@@@##@@@@@@@@@@@@##@@+@@'@@@@@'@@@@@@@@@
| |
| ...``.,,:,,:.;...`+;;';':+;'';;;'::::.,.,:,,:;;'''@@#@@@@@@@@@@@@@@@@@@@#@@@@@@#@@@;:;+#+':#+';@'+##+@++##''.+:'+++#@@@+++#@##@@@':@@@@+#++@'';#@@@@@'@@@@@@@@@@@@@@,@@@@@@@@@@@@@#+@@#+###@@@@#+@@@@@@@
| |
| ..`.,:;:::;;:;:.:;;'#,;;+:'+#;:',:;:.,`.,,,'+#+++@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@'@#@##';##;:@+'@#@##;;'+#::,;'+;'#@@#:;@###,@@++'@@@@+#'@@;'@@#@@@@#+@@@@@@@@@@@@@;@@@@@@@@@@@@@#+@@@##@'@@@@++:;#@@#
| |
| `,,;+'';:;;;+.'';.++;';''++'+;',;;;,,.,::;,,;'++@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@#@@@+###@@#';##'#@#'@+';#+;#+++;#++#+':#@#';;@@#@'##:`#@@@#'#'@@#;@@@@@@+@@@@@@@@@@@@@@+@@@@@@@@@@@@@@@+@@@#'@##@;@@@@@+;@
| |
| ,;''#;;';;'+###+'''+#+'+'##;:',';;...:..,++++#:@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@+@@+@@#',+#+#+;;'+':@#'##;;:+.,+,...'#:;'##@:@#';###@@@@##'@##@@@#@@:@@@@@@@@@@@@@@@:@@@@@@@@@@@@@@##@@@@##@:@@@@@@#@@
| |
| :''#'+'+;:'@@@@@++`;##'###';',;;;::,,;;;,,;''+@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@##@@'@@#'#+###'';@#;,@++@@'+'',.'#+#+@@'##'#;##@++##@@@@@@@@'@;'@@@#@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@;@+@@@@@@@@
| |
| +++###'#+@@@@@#@+++;######;',;;:.,,..,';;'##+##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@;@##'#++#@@+;@;+'@;+####+''';#@:;@@@#;+;##+#@+#;@@@@@@@@@'@#'@@@#@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@@@##@@@@@#+##@@@@@@
| |
| +@#####@@@@@@@@@#++';###++;.:;;,,,;;;::';:'+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@#@@@@;@##'++##@@#:@#++#;#'+@,:::;:'+;#@@@+:@#@+@+@@'@'+@@@@@@@@'+##@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@'#;#@@@@
| |
| +##@#@@@@@@@@@@+@+++###++;.:;,:,.`,;;:;#++'@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'#@@@;@##'####@@@:@@'+';@;#@++;,'#;'@##@@:#@@;###+@:#@@#@@@@@@@@#'+##+@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@'@@@@@@@#@+@@@@
| |
| +@@@@@@@@@@@@@@#@#####++'.:':,..;;:;::;'##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@+@@@:@@+'#+++@@@;@@'#:;#;@@##+:##:;@:;+@'@+@#+@@'#:#@+@@@@@@@@@@##;@'###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@#@+#@@
| |
| @@@@@@++@@@@@@@@@@#+#++',:;;,,.:,,:;'++###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#@#@+@##'#+@+@@@'@@+#,'@+@'@:';##+;#;+@@+#:#@'@##+'@#@+@@@@@@@@@#'@#+@@##@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@;@@@@@@@@@#'@
| |
| @@@@#`'@#@@@@@@@#@###+',;',,,,:,:':,'+###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@##+#@@#@@@+@@##:+@##+'':,'@@+#@##@@#+@@#'++#@@@+#@@@@@@@@@@#++@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@'
| |
| @@@:#@@@@@@@@@@@@@@##',:;;;,.;,:;+';+#++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+#++@@#@@@+@@#''#@@;#+##''##;+@';@@#@@#@'@#@+@@@''@@@@@@@@@@'@;@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@
| |
| '';#@@@@#@@@@@@@@#@##+':,,,::,;;,.'''#+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@+#'+@@+@@@+@@#:+#@@'#'#;'+#+';#;'#@#@;@#+;##@+@@@+#@@@@@@@@@@:@#@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@@@
| |
| ++@@@@@@@+@@@@@@@@@@++;;,,,,,;+''+##+'@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@+#+###+@@+#@@@;#;@@+#+@;::'@#;#'#'@@@;@#@+#++:@@@@+@@@@@@@@@@##'@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@#@@@@@@@
| |
| #@@@@+#@.+@@@@@@@@#@+'+::,:;;,.,;,'##@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@'#+#@#;@@'@@@@'#,#@@@@@'+'+#''+#':@@@@@@#@;##++@@@#'@@@@@@@@@@;#;@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:#@@@@@@@
| |
| @#@@@@@;@@@@@@@@@@@@#;'',:;+';'##+##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:#+##'++@#@@@@#@;#@@#@@###+##+#+#:@@@@#@@@@'@+#@@@@@#@@@@@@@@@@##@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@
| |
| @@@@@@;@@@@@@@@@@@@+@''';;..,;,:'@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@'#+##@#@@@@#@@#@++@@'@#@:;++##'#':@@@@:@@+@#+:#'@#@@+@@@@@@@@@@;+;@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@
| |
| @@@@@@@@@@+@@@@@@@@@@@''+'+''++##+'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@#@@+#++#@#@@@@#@@###;@@+@'@:',;##++;:#@@@'@@@@@#++#@@@@#+@@@@@@@@@@#+#@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@
| |
| @@@@@@@@@##+@@#@@@@@'@+'+::,.####+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@#@@+#+#@@##@@@#@@#+@:@@@@@@'#+:@@:##+'@@@@@@@+@@@##;@@@##@@@@@@@@@@;#;@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@@
| |
| @@@@@@@@#@@@@@@@@@@@#@@+++;++###+@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@+@@+#'#@@##@@@#@@#:@,@@@+@@#@#;;#,++;:@@@@+@@@#@@@'##@@#@'@@@@@@@@@@#@'##@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@
| |
| @@@@@@@@@@@@+@@@@@@@@'@+++'+++@#@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@+++#@@##@@@#@@#,@:@@@;@#@#':++''+''@@@@:@@@+@@@@'+@@#@@@@@@@@@@@@'@+@@+'#@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'@@@@
| |
| @@@@@@@@@@@#@@@@@@@@@@@@++#'#@##@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@+#++##@#@@@#@@@:';#@@+@+@#'#'++'@'@#@@@+@'@@#@@@@++@#@@;@@@@@@@@@@#@:@@@@#@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@@
| |
| @@@@@@@@@@@+@@@#@@@@@@#@###@##;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@+###@#@#@@@+@@@'+''@@@@#@@+@+##,@'#:@@@@@@@@+@@@@#+@#@@@@@@@#@@@@@;@@+@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@
| |
| @@@@@@@@@@@#@@@@@@@@@@@#@#@@@+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@@@####@#@#@@@'#@@#'+:@@@##@##@#@#''#;;@@@@#@+@@+@@@@#+#@@@'@@@@@@@@@@#@;+@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@@
| |
| @@@@@@@#@@+@@;#@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@#@@@@@@@@+###@'@@@@@'#@@###:@@@;@@###@+@;'@;#@@@@;@@@@#@@@@#+#@@@@#@@@@@@@@@;@@#@@#@@@@:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;@
| |
| @#@@@@@@@@#@#:@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###+@@@@@@@;#@@###'#@@'@@#@'@'@''@,@'@@@'@@@@@'@@@@+'@@@@+@@@@@@@@@#@@:'@@#@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@
| |
|
| |
|
| == Prerequisites == | | == Prerequisites == |
ANUNTURI
4c 61 20 6d 75 6c 74 69 20 61 6e 69 20 21
Prerequisites
Cunoasterea unui limbaj de programare (cu citire/scriere la consola) si a unor algoritmi de baza.
Concepte: tip de date, variabile, asignare, operatii aritmetice, operatii logice, structuri repetitive, consola, biblioteci
Materii care asigura aceste cunostinte:
PC - Programarea Calculatoarelor
SDA - Structuri de Date si Algoritmi
Rezultate test incipient, din total studenti prezenti (~ 70% din cei inscrisi in seria C):
3% ar fi luat nota 10: si-au organizat codul, datele, stiu sa citeasca dintr-un fisier si au scris un algoritm care ar merge
15% au propus un algoritm care ar merge
15% stiu sa citeasca din fisiere
35% stiu: ori sa citeasca din fisiere, ori sa isi organizeze datele ori sa scrie algoritmul corect. Daca se tin de treaba, acesti studenti pot trece un examen de programare fara eforturi intense, doar cu seriozitatea de care ar trebui sa se bucure orice materie din facultate
25% au fost foarte slabi: nu pot scrie nici macar 2 linii de cod. Acesti studenti nu vor trece un exemen de programare, fara a lua masuri radicale
65% nu au facut niciuna din cele 3: nici organizare de date, nici algoritm corect, nici nu stiu sa citeasca din fisiere. Acesti studenti nu au sanse reale sa treaca un examen de programare, fara a se stradui intens.
Repartizarea punctelor
Punctajul maxim este de 100 de puncte, corespunzător notei 10. Acest punctaj este repartizat în felul următor:
Laborator 50p: 25p colocviu + 5 x 5p lucrari de laborator
Curs 50p: 30p grila finala (saptamana 14, vineri orele 17-21, A414) si 20p (lucrari sau teme de casa 10 x 2p sau 5 x 4p)
BONUS maxim 10 puncte pentru activitate excepțională în timpul semestrului. Punctajul bonus este exclusiv la latitudinea titularului de curs.
Frauda la teme / laborator / punctaj pe parcurs => se aduna opusul notei.
Frauda la coloviu / test final curs => raport la decan cu recomandarea de exmatriculare.
Note:
https://drive.google.com/open?id=1F_h8d1gADG79twoNwWs5iaCwNkG43JcEvtcD8sHw5jc
Studentii: Mitrana Gabriela, Toader Andrei-Calin, Totu Tiberiu, Buga Roxana, Tabac Adreina, Ristea Nicolae-Catalin s-au voluntarizat pentru corectarea lucrarilor de curs si/sau consiliere pentru ceilalti colegi.
Li se acorda: 1 punct bonus per sarbatoare de curs (a seriei), si 0.5 puncte bonus pentru 1 saptamana de consiliere (daca rezultatul se vede in notele studentului/studentilor consiliati)
Condiții de promovare
Condițiile minime de promovare sunt:
- cel mult o absență în laborator;
- minim 25 de puncte din punctajul de laborator;
- minim 50 puncte în total.
Programa cursului
Curs1. Introducere: computer, CPU, I/O, limbaje de programare, Java, JVM, compilare Java, HelloWorld, output, tipuri de date (boolean, int, double, String), variabile, atribuire, operatori =, +, - , * , /, ordinea operatiilor, concatenare de String, bucle, if, while, for, initializare array, String array, clase, obiecte, campuri, metode
Curs2. Clase, obiecte, campuri, metode, constructor, constructor implicit, instante, access la campuri, acces la metode, referinta vs valoare, primitive, obiecte, == , equals, metoda statica, camp static, control acces: public, private, domeniu de definitie, this, pachete, package, import, java.lang.String, java.lang.System, exceptii, throw, throws, mostenire
Curs3. Recapitulare: mostenire / derivare, extends, @Override, javadoc, static, final, exceptii, throw, throws, try, catch, finally
Curs4. Java I/O, flux de date, clasa abstracta, interfata, property file, equals
Curs5. Recapitulare: citire din fisiere.
Exemplu: afisati cele mai mari 3 medii (si studentii carora le apartin) din fisierul cu formatul de linie: Nume Prenume Nota1 Nota2.
https://drive.google.com/open?id=0B5TtS-S1KZFGTEZHMjRQUTJHOGs
Curs6. Socket, System.in, serializare: serialVersionUID, ObjectOutputStream, ObjectInputStream, readObject, writeObject, java.lang.ClassNotFoundException
Cod demo: https://drive.google.com/open?id=0B5TtS-S1KZFGQ2dNUWs3dE95VWc
https://en.wikipedia.org/wiki/OSI_model, https://docs.oracle.com/javase/tutorial/networking/sockets/ , https://docs.oracle.com/javase/tutorial/networking/urls/index.html, http://wiki.dcae.pub.ro/index.php/Serializarea_obiectelor
Curs7. Procese si Thread-uri; start, run, join, interrupt, synchronized, mutex, barrier, semaphore, thread pool, starvation, deadlock
http://docs.oracle.com/javase/tutorial/essential/concurrency/
Cod: https://drive.google.com/open?id=0B5TtS-S1KZFGTjFJQ1RTZ010czA
Curs8 ArrayList....
https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html
Curs9 -
Curs1O. GUI: Java AWT, Java Swing, Layout, Component, Container, Frame/JFrame, Button/JButton, Label, LookAndFeelInfo, ActionListener
request-by-student: redir System.out to JTextArea, inner class
Cod: https://drive.google.com/open?id=0B5TtS-S1KZFGbmxuVkNZUU9LUVU
Curs11. Aplicatii. java.awt.Graphics -setColor, drawLine, drawRect, drawChars, drawArc. Generics, java.util.HashMap, java.util.ArrayList, Properties, property files, Comparable interface.
https://drive.google.com/open?id=0B5TtS-S1KZFGd1pDZW5hVVVURGc
Curs12. Aplicatii.
Pentru primele cursuri, suportul de curs a fost MIT 6.092 (https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-092-introduction-to-programming-in-java-january-iap-2010/lecture-notes/)
Suplimentar vedeti specificatia de limbaj java de la Oracle:
https://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html
http://docs.oracle.com/javase/tutorial/essential/exceptions/index.html
http://docs.oracle.com/javase/tutorial/essential/io/index.html
Limbajul Java este unul singur, pe orice OS, orice arhitectura, si in orice curs.
Important este sa stiti ce inseamna si cum sa folositi conceptele enumerate mai sus
Resurse Externe
Pentru incepatorii care nu stiu programare DELOC: puteti incepe cu: https://www.udemy.com/java-tutorial/
Pentru cursuri interactive vedeti site-urile dedicate (eg. Edx, Coursera, Udacity)
Altele
https://www.ericsson.com/res/docs/2015/consumerlab/ericsson-consumerlab-communication-in-the-world-of-apps.pdf
http://www.tiobe.com/tiobe-index/
https://docs.nvidia.com/cuda/cuda-c-programming-guide/
http://www.nvidia.com/object/gpu-applications-domain.html