fork download
  1. // Given a doubly linked list, besides the next and previous pointers, each
  2. // element has a child pointer, which may or may not point to a separate doubly
  3. // linked list. These child lists may have one or more children of their own.
  4. // Now do the following:
  5.  
  6. // a. Flattern this multilevel data structure
  7. // b. Restore the original structure from the flatterned structure
  8.  
  9. // e.g.
  10.  
  11. // L1 --> L2 --> L3 --> L7 --> L8
  12. // |
  13. // v
  14. // L4 --> L5-->L6
  15.  
  16.  
  17. // WIll be flattened to
  18. // L1 --> L2 --> L3 -->L4 -->L5-->L6-->L7-->L8
  19.  
  20.  
  21. #include <iostream>
  22. #include <cstdio>
  23. #include <cstdlib>
  24. #include <unordered_map>
  25.  
  26. using namespace std;
  27.  
  28. struct Node{
  29. int val;
  30. Node* next;
  31. Node* child;
  32. Node(int value):val(value),next(NULL),child(NULL) {}
  33. };
  34.  
  35.  
  36. Node* createTree(){
  37. Node* head=new Node(1);
  38. head->next=new Node(2);
  39. head->next->next=new Node(3);
  40. head->next->next->next=new Node(7);
  41. head->next->next->next->next=new Node(8);
  42.  
  43. head->next->next->child=new Node(4);
  44. head->next->next->child->next=new Node(5);
  45. head->next->next->child->next->next=new Node(6);
  46.  
  47. head->next->next->child->next->child=new Node(50);
  48. head->next->next->child->next->child->next=new Node(51);
  49.  
  50. return head;
  51. }
  52.  
  53.  
  54. void printList(Node* head){
  55.  
  56. Node* current=head;
  57. while(current){
  58. cout<<current->val<<" ";
  59. if(current->child){
  60. cout<< "--";
  61. printList(current->child);
  62. cout<< "--";
  63. }
  64. current=current->next;
  65. }
  66. }
  67.  
  68. void restoreList(Node* head,unordered_map<Node*,Node*>& oldPositions ){
  69. if(oldPositions.size()==0) return;
  70.  
  71. Node* current=head;
  72. while(current){
  73. if(oldPositions.find(current)!=oldPositions.end()){
  74. Node* oldNext=oldPositions[current]->next;
  75. oldPositions[current]->next=NULL;
  76. restoreList(current->next, oldPositions);
  77. current->child=head->next;
  78. current->next=oldNext;
  79. oldPositions.erase(current);
  80. }
  81. current=current->next;
  82. }
  83.  
  84. }
  85.  
  86. //to be implemented
  87. Node* flatList(Node* head, Node*& tail, unordered_map<Node*,Node*>& oldPositions){
  88. if(NULL==head){
  89. tail=NULL;
  90. return NULL;
  91. }
  92.  
  93. Node* current=head;
  94. while(current){
  95.  
  96. Node* next=current->next;
  97.  
  98. if(current->child){
  99.  
  100. Node* flatTail=NULL;
  101. Node* flatHead=flatList(current->child, flatTail,oldPositions);
  102. oldPositions[current]=flatTail;
  103. current->child=NULL;
  104. current->next=flatHead;
  105. flatTail->next=next;
  106. }
  107.  
  108. if(current->next==NULL)
  109. tail=current;
  110. current=current->next;
  111. }
  112.  
  113. return head;
  114. }
  115.  
  116.  
  117.  
  118. int main(int argc, char const *argv[])
  119. {
  120. Node* head=createTree();
  121. printList(head);
  122. Node* temp=NULL;
  123. unordered_map<Node*,Node*> oldPositions;
  124. Node* flatHead=flatList(head, temp, oldPositions);
  125. cout<<endl;
  126. printList(flatHead);
  127. cout<<" map size "<<oldPositions.size()<< endl;
  128. restoreList(head, oldPositions);
  129. cout<<" map size "<<oldPositions.size()<< endl;
  130. printList(head);
  131. return 0;
  132. }
  133.  
Runtime error #stdin #stdout 0s 3696KB
stdin
Standard input is empty
stdout
1 2 3 --4 5 --50 51 --6 --7 8 
1 2 3 4 5 50 51 6 7 8  map size 2
 map size 0
1 2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3 --2 3