fork(1) download
  1. <?php
  2. abstract class Animal
  3. {
  4. protected $x;
  5. protected $y;
  6. protected $icon;
  7.  
  8. public function __construct($coordinateX, $coordinateY, $symbol)
  9. {
  10. $this->x = $coordinateX;
  11. $this->y = $coordinateY;
  12. $this->icon = $symbol;
  13. }
  14. public function getCoordinateX()
  15. {
  16. return $this->x;
  17. }
  18. public function getCoordinateY()
  19. {
  20. return $this->y;
  21. }
  22. public function getIcon()
  23. {
  24. return $this->icon;
  25. }
  26. }
  27.  
  28. class Mouse extends Animal
  29. {
  30.  
  31. }
  32.  
  33. class Cat extends Animal
  34. {
  35. protected $targets = array();
  36. protected $target = array();
  37. public function makeMove(array $field)
  38. {
  39. /*Определяем мышей на карте*/
  40. $n = 0;
  41. foreach ($field as $value) {
  42. $i = 0;
  43. foreach ($value as $dot) {
  44. if ($dot != " . " && $dot != $this->icon) {
  45. $this->targets[] = array(
  46. 'x' => $n,
  47. 'y' => $i
  48. );
  49. }
  50. $i++;
  51. }
  52. $n++;
  53. }
  54. /*Определяем координаты ближайшей мыши*/
  55. $previous = INF;
  56. for ($i = 0; $i < count($this->targets); $i++) {
  57. $distance = abs($this->x - $this->targets[$i]['x']) + abs($this->y - $this->targets[$i]['y']);
  58. if ($distance < $previous) {
  59. $this->target['x'] = $this->targets[$i]['x'];
  60. $this->target['y'] = $this->targets[$i]['y'];
  61. }
  62. $previous = $distance;
  63. }
  64. /*начинаем движение к ближайшей цели*/
  65. if ($this->target['x'] > $this->x) {
  66. $this->x = $this->x + 1;
  67. } elseif ($this->target['x'] < $this->x) {
  68. $this->x = $this->x - 1;
  69. }
  70.  
  71. if ($this->target['y'] > $this->y) {
  72. $this->y = $this->y + 1;
  73. } elseif ($this->target['y'] < $this->y) {
  74. $this->y = $this->y - 1;
  75. }
  76.  
  77.  
  78. }
  79.  
  80. }
  81.  
  82.  
  83. class GameField
  84. {
  85. protected $field;
  86.  
  87. public function __construct($height, $width)
  88. {
  89. $this->field = array_fill(0, $height, array_fill(0, $width, " . "));
  90. }
  91. public function printField()
  92. {
  93. foreach ($this->field as $value) {
  94. foreach ($value as $dot) {
  95. echo $dot;
  96. }
  97. echo "\n";
  98. }
  99. }
  100. public function aquireMouse(Mouse $mice)
  101. {
  102. $x = $mice->getCoordinateX();
  103. $y = $mice->getCoordinateY();
  104. $this->field[$x][$y] = $mice->getIcon();
  105. }
  106.  
  107. public function aquireCat(Cat $kitten)
  108. {
  109. $x = $kitten->getCoordinateX();
  110. $y = $kitten->getCoordinateY();
  111. $this->field[$x][$y] = $kitten->getIcon();
  112. }
  113. public function shareField()
  114. {
  115. return $this->field;
  116. }
  117.  
  118.  
  119. }
  120.  
  121.  
  122.  
  123. $test = new GameField(20, 20);
  124.  
  125. $mouse1 = new Mouse(3, 15, " 1 ");
  126. $mouse2 = new Mouse(5, 7, " 2 ");
  127. $kitty = new Cat(19, 10, "@");
  128. $test->aquireMouse($mouse1);
  129. $test->aquireMouse($mouse2);
  130. $test->aquireCat($kitty);
  131. $test->printField();
  132. echo "\n \n \n";
  133. $kitty->makeMove($test->shareField());
  134. $test->aquireCat($kitty);
  135. $test->printField();
  136.  
  137. for ($i = 0; $i < 20; $i++) {
  138. echo "\n \n \n";
  139. $kitty->makeMove($test->shareField());
  140. $test->aquireCat($kitty);
  141. $test->printField();
  142. }
  143.  
  144.  
Success #stdin #stdout 0.09s 20568KB
stdin
Standard input is empty
stdout
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  2  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  . 

 
 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  2  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  . 

 
 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  2  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  . 

 
 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  2  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  . 

 
 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  2  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  . 

 
 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  2  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  . 

 
 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  2  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  . 

 
 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  2  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  . 

 
 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  2  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  . 

 
 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  2  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  . 

 
 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  2  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  . 

 
 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  2  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  . 

 
 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  2  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  . 

 
 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  2  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  . 

 
 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  . 

 
 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  . 

 
 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  . 

 
 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  . 

 
 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  . 

 
 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  . 

 
 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  . 

 
 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  1  .  .  .  . 
 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .  . 
 .  .  .  .  .  .  .  .  .  . @ .  .  .  .  .  .  .  .  .