[TASK]
You will be given four numbers and a target number, your task is to find a way to use all four numbers exactly once, along with the basic operations (+, -, *, /), to reach the target number.

[RULES]
- You can use each number exactly once.
- You can use the four basic operations (+, -, *, /).
- The intermediate results must be integers (no decimals allowed).
- The intermediate results must be positive.
- The intermediate results will not exceed 2000.

[APPROACH]
We will solve the problem by searching. Starting from a given set of four numbers, we will follow this search process:
- At each state, we will consider all possible number pairs (in order) from the current number set. Choose one pair and apply one of the four basic operations to them to obtain a new number.
  * If there are still numbers left, we will add the new number to the number set and continue the search.
  * If we have used all numbers, we will check if the new number is equal to the target number. If it is, we have found the solution. Otherwise, we will backtrack.
- Suppose the two numbers we choose are a and b (where a >= b). We will try the four options (a + b), (a - b), (a * b), (a / b) to obtain the new number. Remember to always use the larger number as the first operand.
- If the new number is a decimal, or exceeds the maximum intermediate result, we will discard this branch and backtrack.
- We will continue this process until we reach the target number with four numbers used or exhaust all possible combinations.

[EXAMPLES]
# Example
Numbers: [40, 19, 23, 7]
Target: 29

# Search Procedure
Initial number set: [40, 19, 23, 7], target: 29. Options for choosing two numbers: [(40, 19), (40, 23), (40, 7), (19, 23), (19, 7), (23, 7)].
 |- Pick two numbers (40, 19) (numbers left: [23, 7]). Try possible operations.
  |- Try 40 + 19 = 59. Add 59 to the number set. Current number set: [59, 23, 7], target: 29. Options for choosing two numbers: [(59, 23), (59, 7), (23, 7)].
   |- Pick two numbers (59, 23) (numbers left: [7]). Try possible operations.
    |- Try 59 + 23 = 82. Add 82 to the number set. Current number set: [82, 7], target: 29, just two numbers left.
     |- Try 82 + 7 = 89. Evaluate 89 != 29, drop this branch.
     |- Try 82 - 7 = 75. Evaluate 75 != 29, drop this branch.
     |- Try 82 * 7 = 574. Evaluate 574 != 29, drop this branch.
     |- Try 82 / 7 = 11.7. 11.7 is a decimal, drop this branch.
    |- Try 59 - 23 = 36. Add 36 to the number set. Current number set: [36, 7], target: 29, just two numbers left.
     |- Try 36 + 7 = 43. Evaluate 43 != 29, drop this branch.
     |- Try 36 - 7 = 29. Evaluate 29 == 29, target found!

Now we have found the target, let's trace back the solution:
Final step: 36 - 7 = 29
The step before: 59 - 23 = 36
The first step: 40 + 19 = 59

Output the solution in the required format:
<Solution>
40 + 19 = 59
59 - 23 = 36
36 - 7 = 29
</Solution>

# Example
Numbers: [9, 16, 6, 18]
Target: 12

# Search Procedure
Initial number set: [9, 16, 6, 18], target: 12. Options for choosing two numbers: [(9, 16), (9, 6), (9, 18), (16, 6), (16, 18), (6, 18)].
 |- Pick two numbers (9, 16) (numbers left: [6, 18]). Try possible operations.
  |- Try 16 + 9 = 25. Add 25 to the number set. Current number set: [25, 6, 18], target: 12. Options for choosing two numbers: [(25, 6), (25, 18), (6, 18)].
   |- Pick two numbers (25, 6) (numbers left: [18]). Try possible operations.
    |- Try 25 + 6 = 31. Add 31 to the number set. Current number set: [31, 18], target: 12, just two numbers left.
     |- Try 31 + 18 = 49. Evaluate 49 != 12, drop this branch.
     |- Try 31 - 18 = 13. Evaluate 13 != 12, drop this branch.
     |- Try 31 * 18 = 558. Evaluate 558 != 12, drop this branch.
     |- Try 31 / 18 = 1.7. 1.7 is a decimal, drop this branch.
    |- Try 25 - 6 = 19. Add 19 to the number set. Current number set: [19, 18], target: 12, just two numbers left.
     |- Try 19 + 18 = 37. Evaluate 37 != 12, drop this branch.
     |- Try 19 - 18 = 1. Evaluate 1 != 12, drop this branch.
     |- Try 19 * 18 = 342. Evaluate 342 != 12, drop this branch.
     |- Try 19 / 18 = 1.1. 1.1 is a decimal, drop this branch.
    |- Try 25 * 6 = 150. Add 150 to the number set. Current number set: [150, 18], target: 12, just two numbers left.
     |- Try 150 + 18 = 168. Evaluate 168 != 12, drop this branch.
     |- Try 150 - 18 = 132. Evaluate 132 != 12, drop this branch.
     |- Try 150 * 18 = 2700. 2700 exceeds the maximum intermediate result, drop this branch.
     |- Try 150 / 18 = 8.3. 8.3 is a decimal, drop this branch.
    |- Try 25 / 6 = 4.2. 4.2 is a decimal, drop this branch.
   |- Pick two numbers (25, 18) (numbers left: [6]). Try possible operations.
    |- Try 25 + 18 = 43. Add 43 to the number set. Current number set: [43, 6], target: 12, just two numbers left.
     |- Try 43 + 6 = 49. Evaluate 49 != 12, drop this branch.
     |- Try 43 - 6 = 37. Evaluate 37 != 12, drop this branch.
     |- Try 43 * 6 = 258. Evaluate 258 != 12, drop this branch.
     |- Try 43 / 6 = 7.2. 7.2 is a decimal, drop this branch.
    |- Try 25 - 18 = 7. Add 7 to the number set. Current number set: [7, 6], target: 12, just two numbers left.
     |- Try 7 + 6 = 13. Evaluate 13 != 12, drop this branch.
     |- Try 7 - 6 = 1. Evaluate 1 != 12, drop this branch.
     |- Try 7 * 6 = 42. Evaluate 42 != 12, drop this branch.
     |- Try 7 / 6 = 1.2. 1.2 is a decimal, drop this branch.
    |- Try 25 * 18 = 450. Add 450 to the number set. Current number set: [450, 6], target: 12, just two numbers left.
     |- Try 450 + 6 = 456. Evaluate 456 != 12, drop this branch.
     |- Try 450 - 6 = 444. Evaluate 444 != 12, drop this branch.
     |- Try 450 * 6 = 2700. 2700 exceeds the maximum intermediate result, drop this branch.
     |- Try 450 / 6 = 75. Evaluate 75 != 12, drop this branch.
    |- Try 25 / 18 = 1.4. 1.4 is a decimal, drop this branch.
   |- Pick two numbers (6, 18) (numbers left: [25]). Try possible operations.
    |- Try 18 + 6 = 24. Add 24 to the number set. Current number set: [24, 25], target: 12, just two numbers left.
     |- Try 25 + 24 = 49. Evaluate 49 != 12, drop this branch.
     |- Try 25 - 24 = 1. Evaluate 1 != 12, drop this branch.
     |- Try 25 * 24 = 600. Evaluate 600 != 12, drop this branch.
     |- Try 25 / 24 = 1.0. 1.0 is a decimal, drop this branch.
    |- Try 18 - 6 = 12. Add 12 to the number set. Current number set: [12, 25], target: 12, just two numbers left.
     |- Try 25 + 12 = 37. Evaluate 37 != 12, drop this branch.
     |- Try 25 - 12 = 13. Evaluate 13 != 12, drop this branch.
     |- Try 25 * 12 = 300. Evaluate 300 != 12, drop this branch.
     |- Try 25 / 12 = 2.1. 2.1 is a decimal, drop this branch.
    |- Try 18 * 6 = 108. Add 108 to the number set. Current number set: [108, 25], target: 12, just two numbers left.
     |- Try 108 + 25 = 133. Evaluate 133 != 12, drop this branch.
     |- Try 108 - 25 = 83. Evaluate 83 != 12, drop this branch.
     |- Try 108 * 25 = 2700. 2700 exceeds the maximum intermediate result, drop this branch.
     |- Try 108 / 25 = 4.3. 4.3 is a decimal, drop this branch.
    |- Try 18 / 6 = 3. Add 3 to the number set. Current number set: [3, 25], target: 12, just two numbers left.
     |- Try 25 + 3 = 28. Evaluate 28 != 12, drop this branch.
     |- Try 25 - 3 = 22. Evaluate 22 != 12, drop this branch.
     |- Try 25 * 3 = 75. Evaluate 75 != 12, drop this branch.
     |- Try 25 / 3 = 8.3. 8.3 is a decimal, drop this branch.
  |- Try 16 - 9 = 7. Add 7 to the number set. Current number set: [7, 6, 18], target: 12. Options for choosing two numbers: [(7, 6), (7, 18), (6, 18)].
   |- Pick two numbers (7, 6) (numbers left: [18]). Try possible operations.
    |- Try 7 + 6 = 13. Add 13 to the number set. Current number set: [13, 18], target: 12, just two numbers left.
     |- Try 18 + 13 = 31. Evaluate 31 != 12, drop this branch.
     |- Try 18 - 13 = 5. Evaluate 5 != 12, drop this branch.
     |- Try 18 * 13 = 234. Evaluate 234 != 12, drop this branch.
     |- Try 18 / 13 = 1.4. 1.4 is a decimal, drop this branch.
    |- Try 7 - 6 = 1. Add 1 to the number set. Current number set: [1, 18], target: 12, just two numbers left.
     |- Try 18 + 1 = 19. Evaluate 19 != 12, drop this branch.
     |- Try 18 - 1 = 17. Evaluate 17 != 12, drop this branch.
     |- Try 18 * 1 = 18. Evaluate 18 != 12, drop this branch.
     |- Try 18 / 1 = 18. Evaluate 18 != 12, drop this branch.
    |- Try 7 * 6 = 42. Add 42 to the number set. Current number set: [42, 18], target: 12, just two numbers left.
     |- Try 42 + 18 = 60. Evaluate 60 != 12, drop this branch.
     |- Try 42 - 18 = 24. Evaluate 24 != 12, drop this branch.
     |- Try 42 * 18 = 756. Evaluate 756 != 12, drop this branch.
     |- Try 42 / 18 = 2.3. 2.3 is a decimal, drop this branch.
    |- Try 7 / 6 = 1.2. 1.2 is a decimal, drop this branch.
   |- Pick two numbers (7, 18) (numbers left: [6]). Try possible operations.
    |- Try 18 + 7 = 25. Add 25 to the number set. Current number set: [25, 6], target: 12, just two numbers left.
     |- Try 25 + 6 = 31. Evaluate 31 != 12, drop this branch.
     |- Try 25 - 6 = 19. Evaluate 19 != 12, drop this branch.
     |- Try 25 * 6 = 150. Evaluate 150 != 12, drop this branch.
     |- Try 25 / 6 = 4.2. 4.2 is a decimal, drop this branch.
    |- Try 18 - 7 = 11. Add 11 to the number set. Current number set: [11, 6], target: 12, just two numbers left.
     |- Try 11 + 6 = 17. Evaluate 17 != 12, drop this branch.
     |- Try 11 - 6 = 5. Evaluate 5 != 12, drop this branch.
     |- Try 11 * 6 = 66. Evaluate 66 != 12, drop this branch.
     |- Try 11 / 6 = 1.8. 1.8 is a decimal, drop this branch.
    |- Try 18 * 7 = 126. Add 126 to the number set. Current number set: [126, 6], target: 12, just two numbers left.
     |- Try 126 + 6 = 132. Evaluate 132 != 12, drop this branch.
     |- Try 126 - 6 = 120. Evaluate 120 != 12, drop this branch.
     |- Try 126 * 6 = 756. Evaluate 756 != 12, drop this branch.
     |- Try 126 / 6 = 21. Evaluate 21 != 12, drop this branch.
    |- Try 18 / 7 = 2.6. 2.6 is a decimal, drop this branch.
   |- Pick two numbers (6, 18) (numbers left: [7]). Try possible operations.
    |- Try 18 + 6 = 24. Add 24 to the number set. Current number set: [24, 7], target: 12, just two numbers left.
     |- Try 24 + 7 = 31. Evaluate 31 != 12, drop this branch.
     |- Try 24 - 7 = 17. Evaluate 17 != 12, drop this branch.
     |- Try 24 * 7 = 168. Evaluate 168 != 12, drop this branch.
     |- Try 24 / 7 = 3.4. 3.4 is a decimal, drop this branch.
    |- Try 18 - 6 = 12. Add 12 to the number set. Current number set: [12, 7], target: 12, just two numbers left.
     |- Try 12 + 7 = 19. Evaluate 19 != 12, drop this branch.
     |- Try 12 - 7 = 5. Evaluate 5 != 12, drop this branch.
     |- Try 12 * 7 = 84. Evaluate 84 != 12, drop this branch.
     |- Try 12 / 7 = 1.7. 1.7 is a decimal, drop this branch.
    |- Try 18 * 6 = 108. Add 108 to the number set. Current number set: [108, 7], target: 12, just two numbers left.
     |- Try 108 + 7 = 115. Evaluate 115 != 12, drop this branch.
     |- Try 108 - 7 = 101. Evaluate 101 != 12, drop this branch.
     |- Try 108 * 7 = 756. Evaluate 756 != 12, drop this branch.
     |- Try 108 / 7 = 15.4. 15.4 is a decimal, drop this branch.
    |- Try 18 / 6 = 3. Add 3 to the number set. Current number set: [3, 7], target: 12, just two numbers left.
     |- Try 7 + 3 = 10. Evaluate 10 != 12, drop this branch.
     |- Try 7 - 3 = 4. Evaluate 4 != 12, drop this branch.
     |- Try 7 * 3 = 21. Evaluate 21 != 12, drop this branch.
     |- Try 7 / 3 = 2.3. 2.3 is a decimal, drop this branch.
  |- Try 16 * 9 = 144. Add 144 to the number set. Current number set: [144, 6, 18], target: 12. Options for choosing two numbers: [(144, 6), (144, 18), (6, 18)].
   |- Pick two numbers (144, 6) (numbers left: [18]). Try possible operations.
    |- Try 144 + 6 = 150. Add 150 to the number set. Current number set: [150, 18], target: 12, just two numbers left.
     |- Try 150 + 18 = 168. Evaluate 168 != 12, drop this branch.
     |- Try 150 - 18 = 132. Evaluate 132 != 12, drop this branch.
     |- Try 150 * 18 = 2700. 2700 exceeds the maximum intermediate result, drop this branch.
     |- Try 150 / 18 = 8.3. 8.3 is a decimal, drop this branch.
    |- Try 144 - 6 = 138. Add 138 to the number set. Current number set: [138, 18], target: 12, just two numbers left.
     |- Try 138 + 18 = 156. Evaluate 156 != 12, drop this branch.
     |- Try 138 - 18 = 120. Evaluate 120 != 12, drop this branch.
     |- Try 138 * 18 = 2484. 2484 exceeds the maximum intermediate result, drop this branch.
     |- Try 138 / 18 = 7.7. 7.7 is a decimal, drop this branch.
    |- Try 144 * 6 = 864. Add 864 to the number set. Current number set: [864, 18], target: 12, just two numbers left.
     |- Try 864 + 18 = 882. Evaluate 882 != 12, drop this branch.
     |- Try 864 - 18 = 846. Evaluate 846 != 12, drop this branch.
     |- Try 864 * 18 = 15552. 15552 exceeds the maximum intermediate result, drop this branch.
     |- Try 864 / 18 = 48. Evaluate 48 != 12, drop this branch.
    |- Try 144 / 6 = 24. Add 24 to the number set. Current number set: [24, 18], target: 12, just two numbers left.
     |- Try 24 + 18 = 42. Evaluate 42 != 12, drop this branch.
     |- Try 24 - 18 = 6. Evaluate 6 != 12, drop this branch.
     |- Try 24 * 18 = 432. Evaluate 432 != 12, drop this branch.
     |- Try 24 / 18 = 1.3. 1.3 is a decimal, drop this branch.
   |- Pick two numbers (144, 18) (numbers left: [6]). Try possible operations.
    |- Try 144 + 18 = 162. Add 162 to the number set. Current number set: [162, 6], target: 12, just two numbers left.
     |- Try 162 + 6 = 168. Evaluate 168 != 12, drop this branch.
     |- Try 162 - 6 = 156. Evaluate 156 != 12, drop this branch.
     |- Try 162 * 6 = 972. Evaluate 972 != 12, drop this branch.
     |- Try 162 / 6 = 27. Evaluate 27 != 12, drop this branch.
    |- Try 144 - 18 = 126. Add 126 to the number set. Current number set: [126, 6], target: 12, just two numbers left.
     |- Try 126 + 6 = 132. Evaluate 132 != 12, drop this branch.
     |- Try 126 - 6 = 120. Evaluate 120 != 12, drop this branch.
     |- Try 126 * 6 = 756. Evaluate 756 != 12, drop this branch.
     |- Try 126 / 6 = 21. Evaluate 21 != 12, drop this branch.
    |- Try 144 * 18 = 2592. 2592 exceeds the maximum intermediate result, drop this branch.
    |- Try 144 / 18 = 8. Add 8 to the number set. Current number set: [8, 6], target: 12, just two numbers left.
     |- Try 8 + 6 = 14. Evaluate 14 != 12, drop this branch.
     |- Try 8 - 6 = 2. Evaluate 2 != 12, drop this branch.
     |- Try 8 * 6 = 48. Evaluate 48 != 12, drop this branch.
     |- Try 8 / 6 = 1.3. 1.3 is a decimal, drop this branch.
   |- Pick two numbers (6, 18) (numbers left: [144]). Try possible operations.
    |- Try 18 + 6 = 24. Add 24 to the number set. Current number set: [24, 144], target: 12, just two numbers left.
     |- Try 144 + 24 = 168. Evaluate 168 != 12, drop this branch.
     |- Try 144 - 24 = 120. Evaluate 120 != 12, drop this branch.
     |- Try 144 * 24 = 3456. 3456 exceeds the maximum intermediate result, drop this branch.
     |- Try 144 / 24 = 6. Evaluate 6 != 12, drop this branch.
    |- Try 18 - 6 = 12. Add 12 to the number set. Current number set: [12, 144], target: 12, just two numbers left.
     |- Try 144 + 12 = 156. Evaluate 156 != 12, drop this branch.
     |- Try 144 - 12 = 132. Evaluate 132 != 12, drop this branch.
     |- Try 144 * 12 = 1728. Evaluate 1728 != 12, drop this branch.
     |- Try 144 / 12 = 12. Evaluate 12 == 12, target found!

Now we have found the target, let's trace back the solution:
Final step: 144 / 12 = 12
The step before: 18 - 6 = 12
The first step: 16 * 9 = 144

Output the solution in the required format:
<Solution>
16 * 9 = 144
18 - 6 = 12
144 / 12 = 12
</Solution>

[Problem]
Now, solve the following problem. Note that:
- Please carefully read the approach and examples provided above, and follow them to solve the problem.
- Please ALWAYS include your search procedure (after # Search Procedure). The search procedure should follow the format of the examples provided above.
- Please mark your answer with <Solution> and </Solution> tags. The solution should be a sequence of three equations exactly following the format of the examples above, with no additional text in between.

Numbers: [4, 15, 12, 3]
Target: 20

# Search Procedure
Initial number set: [4, 15, 12, 3], target: 20. Options for choosing two numbers: [(4, 15), (4, 12), (4, 3), (15, 12), (15, 3), (12, 3)].
 |- Pick two numbers (4, 15) (numbers left: [12, 3]). Try possible operations.
  |- Try 15 + 4 = 19. Add 19 to the number set. Current number set: [19, 12, 3], target: 20. Options for choosing two numbers: [(19, 12), (19, 3), (12, 3)].
   |- Pick two numbers (19, 12) (numbers left: [3]). Try possible operations.
    |- Try 19 + 12 = 31. Add 31 to the number set. Current number set: [31, 3], target: 20, just two numbers left.
     |- Try 31 + 3 = 34. Evaluate 34 != 20, drop this branch.
     |- Try 31 - 3 = 28. Evaluate 28 != 20, drop this branch.
     |- Try 31 * 3 = 93. Evaluate 93 != 20, drop this branch.
     |- Try 31 / 3 = 10.3. 10.3 is a decimal, drop this branch.
    |- Try 19 - 12 = 7. Add 7 to the number set. Current number set: [7, 3], target: 20, just two numbers left.
     |- Try 7 + 3 = 10. Evaluate 10 != 20, drop this branch.
     |- Try 7 - 3 = 4. Evaluate 4 != 20, drop this branch.
     |- Try 7 * 3 = 21. Evaluate 21 != 20, drop this branch.
     |- Try 7 / 3 = 2.3. 2.3 is a decimal, drop this branch.
    |- Try 19 * 12 = 228. Add 228 to the number set. Current number set: [228, 3], target: 20, just two numbers left.
     |- Try 228 + 3 = 231. Evaluate 231 != 20, drop this branch.
     |- Try 228 - 3 = 225. Evaluate 225 != 20, drop this branch.
     |- Try 228 * 3 = 684. Evaluate 684 != 20, drop this branch.
     |- Try 228 / 3 = 76. Evaluate 76 != 20, drop this branch.
    |- Try 19 / 12 = 1.6. 1.6 is a decimal, drop this branch.
   |- Pick two numbers (19, 3) (numbers left: [12]). Try possible operations.
    |- Try 19 + 3 = 22. Add 22 to the number set. Current number set: [22, 12], target: 20, just two numbers left.
     |- Try 22 + 12 = 34. Evaluate 34 != 20, drop this branch.
     |- Try 22 - 12 = 10. Evaluate 10 != 20, drop this branch.
     |- Try 22 * 12 = 264. Evaluate 264 != 20, drop this branch.
     |- Try 22 / 12 = 1.8. 1.8 is a decimal, drop this branch.
    |- Try 19 - 3 = 16. Add 16 to the number set. Current number set: [16, 12], target: 20, just two numbers left.
     |- Try 16 + 12 = 28. Evaluate 28 != 20, drop this branch.
     |- Try 16 - 12 = 4. Evaluate 4 != 20, drop this branch.
     |- Try 16 * 12 = 192. Evaluate 192 != 20, drop this branch.
     |- Try 16 / 12 = 1.3. 1.3 is a decimal, drop this branch.
    |- Try 19 * 3 = 57. Add 57 to the number set. Current number set: [57, 12], target: 20, just two numbers left.
     |- Try 57 + 12 = 69. Evaluate 69 != 20, drop this branch.
     |- Try 57 - 12 = 45. Evaluate 45 != 20, drop this branch.
     |- Try 57 * 12 = 684. Evaluate 684 != 20, drop this branch.
     |- Try 57 / 12 = 4.8. 4.8 is a decimal, drop this branch.
    |- Try 19 / 3 = 6.3. 6.3 is a decimal, drop this branch.
   |- Pick two numbers (12, 3) (numbers left: [19]). Try possible operations.
    |- Try 12 + 3 = 15. Add 15 to the number set. Current number set: [15, 19], target: 20, just two numbers left.
     |- Try 19 + 15 = 34. Evaluate 34 != 20, drop this branch.
     |- Try 19 - 15 = 4. Evaluate 4 != 20, drop this branch.
     |- Try 19 * 15 = 285. Evaluate 285 != 20, drop this branch.
     |- Try 19 / 15 = 1.3. 1.3 is a decimal, drop this branch.
    |- Try 12 - 3 = 9. Add 9 to the number set. Current number set: [9, 19], target: 20, just two numbers left.
     |- Try 19 + 9 = 28. Evaluate 28 != 20, drop this branch.
     |- Try 19 - 9 = 10. Evaluate 10 != 20, drop this branch.
     |- Try 19 * 9 = 171. Evaluate 171 != 20, drop this branch.
     |- Try 19 / 9 = 2.1. 2.1 is a decimal, drop this branch.
    |- Try 12 * 3 = 36. Add 36 to the number set. Current number set: [36, 19], target: 20, just two numbers left.
     |- Try 36 + 19 = 55. Evaluate 55 != 20, drop this branch.
     |- Try 36 - 19 = 17. Evaluate 17 != 20, drop this branch.
     |- Try 36 * 19 = 684. Evaluate 684 != 20, drop this branch.
     |- Try 36 / 19 = 1.9. 1.9 is a decimal, drop this branch.
    |- Try 12 / 3 = 4. Add 4 to the number set. Current number set: [4, 19], target: 20, just two numbers left.
     |- Try 19 + 4 = 23. Evaluate 23 != 20, drop this branch.
     |- Try 19 - 4 = 15. Evaluate 15 != 20, drop this branch.
     |- Try 19 * 4 = 76. Evaluate 76 != 20, drop this branch.
     |- Try 19 / 4 = 4.8. 4.8 is a decimal, drop this branch.
  |- Try 15 - 4 = 11. Add 11 to the number set. Current number set: [11, 12, 3], target: 20. Options for choosing two numbers: [(11, 12), (11, 3), (12, 3)].
   |- Pick two numbers (11, 12) (numbers left: [3]). Try possible operations.
    |- Try 12 + 11 = 23. Add 23 to the number set. Current number set: [23, 3], target: 20, just two numbers left.
     |- Try 23 + 3 = 26. Evaluate 26 != 20, drop this branch.
     |- Try 23 - 3 = 20. Evaluate 20 == 20, target found!

Now we have found the target, let's trace back the solution:
Final step: 23 - 3 = 20
The step before: 12 + 11 = 23
The first step: 15 - 4 = 11

Output the solution in the required format:
<Solution>
15 - 4 = 11
12 + 11 = 23
23 - 3 = 20
</Solution>

Solution:
15 - 4 = 11
12 + 11 = 23
23 - 3 = 20


[TASK]
You will be given four numbers and a target number, your task is to find a way to use all four numbers exactly once, along with the basic operations (+, -, *, /), to reach the target number.

[RULES]
- You can use each number exactly once.
- You can use the four basic operations (+, -, *, /).
- The intermediate results must be integers (no decimals allowed).
- The intermediate results must be positive.
- The intermediate results will not exceed 2000.

[APPROACH]
We will solve the problem by searching. Starting from a given set of four numbers, we will follow this search process:
- At each state, we will consider all possible number pairs (in order) from the current number set. Choose one pair and apply one of the four basic operations to them to obtain a new number.
  * If there are still numbers left, we will add the new number to the number set and continue the search.
  * If we have used all numbers, we will check if the new number is equal to the target number. If it is, we have found the solution. Otherwise, we will backtrack.
- Suppose the two numbers we choose are a and b (where a >= b). We will try the four options (a + b), (a - b), (a * b), (a / b) to obtain the new number. Remember to always use the larger number as the first operand.
- If the new number is a decimal, or exceeds the maximum intermediate result, we will discard this branch and backtrack.
- We will continue this process until we reach the target number with four numbers used or exhaust all possible combinations.

[EXAMPLES]
# Example
Numbers: [40, 19, 23, 7]
Target: 29

# Search Procedure
Initial number set: [40, 19, 23, 7], target: 29. Options for choosing two numbers: [(40, 19), (40, 23), (40, 7), (19, 23), (19, 7), (23, 7)].
 |- Pick two numbers (40, 19) (numbers left: [23, 7]). Try possible operations.
  |- Try 40 + 19 = 59. Add 59 to the number set. Current number set: [59, 23, 7], target: 29. Options for choosing two numbers: [(59, 23), (59, 7), (23, 7)].
   |- Pick two numbers (59, 23) (numbers left: [7]). Try possible operations.
    |- Try 59 + 23 = 82. Add 82 to the number set. Current number set: [82, 7], target: 29, just two numbers left.
     |- Try 82 + 7 = 89. Evaluate 89 != 29, drop this branch.
     |- Try 82 - 7 = 75. Evaluate 75 != 29, drop this branch.
     |- Try 82 * 7 = 574. Evaluate 574 != 29, drop this branch.
     |- Try 82 / 7 = 11.7. 11.7 is a decimal, drop this branch.
    |- Try 59 - 23 = 36. Add 36 to the number set. Current number set: [36, 7], target: 29, just two numbers left.
     |- Try 36 + 7 = 43. Evaluate 43 != 29, drop this branch.
     |- Try 36 - 7 = 29. Evaluate 29 == 29, target found!

Now we have found the target, let's trace back the solution:
Final step: 36 - 7 = 29
The step before: 59 - 23 = 36
The first step: 40 + 19 = 59

Output the solution in the required format:
<Solution>
40 + 19 = 59
59 - 23 = 36
36 - 7 = 29
</Solution>

# Example
Numbers: [9, 16, 6, 18]
Target: 12

# Search Procedure
Initial number set: [9, 16, 6, 18], target: 12. Options for choosing two numbers: [(9, 16), (9, 6), (9, 18), (16, 6), (16, 18), (6, 18)].
 |- Pick two numbers (9, 16) (numbers left: [6, 18]). Try possible operations.
  |- Try 16 + 9 = 25. Add 25 to the number set. Current number set: [25, 6, 18], target: 12. Options for choosing two numbers: [(25, 6), (25, 18), (6, 18)].
   |- Pick two numbers (25, 6) (numbers left: [18]). Try possible operations.
    |- Try 25 + 6 = 31. Add 31 to the number set. Current number set: [31, 18], target: 12, just two numbers left.
     |- Try 31 + 18 = 49. Evaluate 49 != 12, drop this branch.
     |- Try 31 - 18 = 13. Evaluate 13 != 12, drop this branch.
     |- Try 31 * 18 = 558. Evaluate 558 != 12, drop this branch.
     |- Try 31 / 18 = 1.7. 1.7 is a decimal, drop this branch.
    |- Try 25 - 6 = 19. Add 19 to the number set. Current number set: [19, 18], target: 12, just two numbers left.
     |- Try 19 + 18 = 37. Evaluate 37 != 12, drop this branch.
     |- Try 19 - 18 = 1. Evaluate 1 != 12, drop this branch.
     |- Try 19 * 18 = 342. Evaluate 342 != 12, drop this branch.
     |- Try 19 / 18 = 1.1. 1.1 is a decimal, drop this branch.
    |- Try 25 * 6 = 150. Add 150 to the number set. Current number set: [150, 18], target: 12, just two numbers left.
     |- Try 150 + 18 = 168. Evaluate 168 != 12, drop this branch.
     |- Try 150 - 18 = 132. Evaluate 132 != 12, drop this branch.
     |- Try 150 * 18 = 2700. 2700 exceeds the maximum intermediate result, drop this branch.
     |- Try 150 / 18 = 8.3. 8.3 is a decimal, drop this branch.
    |- Try 25 / 6 = 4.2. 4.2 is a decimal, drop this branch.
   |- Pick two numbers (25, 18) (numbers left: [6]). Try possible operations.
    |- Try 25 + 18 = 43. Add 43 to the number set. Current number set: [43, 6], target: 12, just two numbers left.
     |- Try 43 + 6 = 49. Evaluate 49 != 12, drop this branch.
     |- Try 43 - 6 = 37. Evaluate 37 != 12, drop this branch.
     |- Try 43 * 6 = 258. Evaluate 258 != 12, drop this branch.
     |- Try 43 / 6 = 7.2. 7.2 is a decimal, drop this branch.
    |- Try 25 - 18 = 7. Add 7 to the number set. Current number set: [7, 6], target: 12, just two numbers left.
     |- Try 7 + 6 = 13. Evaluate 13 != 12, drop this branch.
     |- Try 7 - 6 = 1. Evaluate 1 != 12, drop this branch.
     |- Try 7 * 6 = 42. Evaluate 42 != 12, drop this branch.
     |- Try 7 / 6 = 1.2. 1.2 is a decimal, drop this branch.
    |- Try 25 * 18 = 450. Add 450 to the number set. Current number set: [450, 6], target: 12, just two numbers left.
     |- Try 450 + 6 = 456. Evaluate 456 != 12, drop this branch.
     |- Try 450 - 6 = 444. Evaluate 444 != 12, drop this branch.
     |- Try 450 * 6 = 2700. 2700 exceeds the maximum intermediate result, drop this branch.
     |- Try 450 / 6 = 75. Evaluate 75 != 12, drop this branch.
    |- Try 25 / 18 = 1.4. 1.4 is a decimal, drop this branch.
   |- Pick two numbers (6, 18) (numbers left: [25]). Try possible operations.
    |- Try 18 + 6 = 24. Add 24 to the number set. Current number set: [24, 25], target: 12, just two numbers left.
     |- Try 25 + 24 = 49. Evaluate 49 != 12, drop this branch.
     |- Try 25 - 24 = 1. Evaluate 1 != 12, drop this branch.
     |- Try 25 * 24 = 600. Evaluate 600 != 12, drop this branch.
     |- Try 25 / 24 = 1.0. 1.0 is a decimal, drop this branch.
    |- Try 18 - 6 = 12. Add 12 to the number set. Current number set: [12, 25], target: 12, just two numbers left.
     |- Try 25 + 12 = 37. Evaluate 37 != 12, drop this branch.
     |- Try 25 - 12 = 13. Evaluate 13 != 12, drop this branch.
     |- Try 25 * 12 = 300. Evaluate 300 != 12, drop this branch.
     |- Try 25 / 12 = 2.1. 2.1 is a decimal, drop this branch.
    |- Try 18 * 6 = 108. Add 108 to the number set. Current number set: [108, 25], target: 12, just two numbers left.
     |- Try 108 + 25 = 133. Evaluate 133 != 12, drop this branch.
     |- Try 108 - 25 = 83. Evaluate 83 != 12, drop this branch.
     |- Try 108 * 25 = 2700. 2700 exceeds the maximum intermediate result, drop this branch.
     |- Try 108 / 25 = 4.3. 4.3 is a decimal, drop this branch.
    |- Try 18 / 6 = 3. Add 3 to the number set. Current number set: [3, 25], target: 12, just two numbers left.
     |- Try 25 + 3 = 28. Evaluate 28 != 12, drop this branch.
     |- Try 25 - 3 = 22. Evaluate 22 != 12, drop this branch.
     |- Try 25 * 3 = 75. Evaluate 75 != 12, drop this branch.
     |- Try 25 / 3 = 8.3. 8.3 is a decimal, drop this branch.
  |- Try 16 - 9 = 7. Add 7 to the number set. Current number set: [7, 6, 18], target: 12. Options for choosing two numbers: [(7, 6), (7, 18), (6, 18)].
   |- Pick two numbers (7, 6) (numbers left: [18]). Try possible operations.
    |- Try 7 + 6 = 13. Add 13 to the number set. Current number set: [13, 18], target: 12, just two numbers left.
     |- Try 18 + 13 = 31. Evaluate 31 != 12, drop this branch.
     |- Try 18 - 13 = 5. Evaluate 5 != 12, drop this branch.
     |- Try 18 * 13 = 234. Evaluate 234 != 12, drop this branch.
     |- Try 18 / 13 = 1.4. 1.4 is a decimal, drop this branch.
    |- Try 7 - 6 = 1. Add 1 to the number set. Current number set: [1, 18], target: 12, just two numbers left.
     |- Try 18 + 1 = 19. Evaluate 19 != 12, drop this branch.
     |- Try 18 - 1 = 17. Evaluate 17 != 12, drop this branch.
     |- Try 18 * 1 = 18. Evaluate 18 != 12, drop this branch.
     |- Try 18 / 1 = 18. Evaluate 18 != 12, drop this branch.
    |- Try 7 * 6 = 42. Add 42 to the number set. Current number set: [42, 18], target: 12, just two numbers left.
     |- Try 42 + 18 = 60. Evaluate 60 != 12, drop this branch.
     |- Try 42 - 18 = 24. Evaluate 24 != 12, drop this branch.
     |- Try 42 * 18 = 756. Evaluate 756 != 12, drop this branch.
     |- Try 42 / 18 = 2.3. 2.3 is a decimal, drop this branch.
    |- Try 7 / 6 = 1.2. 1.2 is a decimal, drop this branch.
   |- Pick two numbers (7, 18) (numbers left: [6]). Try possible operations.
    |- Try 18 + 7 = 25. Add 25 to the number set. Current number set: [25, 6], target: 12, just two numbers left.
     |- Try 25 + 6 = 31. Evaluate 31 != 12, drop this branch.
     |- Try 25 - 6 = 19. Evaluate 19 != 12, drop this branch.
     |- Try 25 * 6 = 150. Evaluate 150 != 12, drop this branch.
     |- Try 25 / 6 = 4.2. 4.2 is a decimal, drop this branch.
    |- Try 18 - 7 = 11. Add 11 to the number set. Current number set: [11, 6], target: 12, just two numbers left.
     |- Try 11 + 6 = 17. Evaluate 17 != 12, drop this branch.
     |- Try 11 - 6 = 5. Evaluate 5 != 12, drop this branch.
     |- Try 11 * 6 = 66. Evaluate 66 != 12, drop this branch.
     |- Try 11 / 6 = 1.8. 1.8 is a decimal, drop this branch.
    |- Try 18 * 7 = 126. Add 126 to the number set. Current number set: [126, 6], target: 12, just two numbers left.
     |- Try 126 + 6 = 132. Evaluate 132 != 12, drop this branch.
     |- Try 126 - 6 = 120. Evaluate 120 != 12, drop this branch.
     |- Try 126 * 6 = 756. Evaluate 756 != 12, drop this branch.
     |- Try 126 / 6 = 21. Evaluate 21 != 12, drop this branch.
    |- Try 18 / 7 = 2.6. 2.6 is a decimal, drop this branch.
   |- Pick two numbers (6, 18) (numbers left: [7]). Try possible operations.
    |- Try 18 + 6 = 24. Add 24 to the number set. Current number set: [24, 7], target: 12, just two numbers left.
     |- Try 24 + 7 = 31. Evaluate 31 != 12, drop this branch.
     |- Try 24 - 7 = 17. Evaluate 17 != 12, drop this branch.
     |- Try 24 * 7 = 168. Evaluate 168 != 12, drop this branch.
     |- Try 24 / 7 = 3.4. 3.4 is a decimal, drop this branch.
    |- Try 18 - 6 = 12. Add 12 to the number set. Current number set: [12, 7], target: 12, just two numbers left.
     |- Try 12 + 7 = 19. Evaluate 19 != 12, drop this branch.
     |- Try 12 - 7 = 5. Evaluate 5 != 12, drop this branch.
     |- Try 12 * 7 = 84. Evaluate 84 != 12, drop this branch.
     |- Try 12 / 7 = 1.7. 1.7 is a decimal, drop this branch.
    |- Try 18 * 6 = 108. Add 108 to the number set. Current number set: [108, 7], target: 12, just two numbers left.
     |- Try 108 + 7 = 115. Evaluate 115 != 12, drop this branch.
     |- Try 108 - 7 = 101. Evaluate 101 != 12, drop this branch.
     |- Try 108 * 7 = 756. Evaluate 756 != 12, drop this branch.
     |- Try 108 / 7 = 15.4. 15.4 is a decimal, drop this branch.
    |- Try 18 / 6 = 3. Add 3 to the number set. Current number set: [3, 7], target: 12, just two numbers left.
     |- Try 7 + 3 = 10. Evaluate 10 != 12, drop this branch.
     |- Try 7 - 3 = 4. Evaluate 4 != 12, drop this branch.
     |- Try 7 * 3 = 21. Evaluate 21 != 12, drop this branch.
     |- Try 7 / 3 = 2.3. 2.3 is a decimal, drop this branch.
  |- Try 16 * 9 = 144. Add 144 to the number set. Current number set: [144, 6, 18], target: 12. Options for choosing two numbers: [(144, 6), (144, 18), (6, 18)].
   |- Pick two numbers (144, 6) (numbers left: [18]). Try possible operations.
    |- Try 144 + 6 = 150. Add 150 to the number set. Current number set: [150, 18], target: 12, just two numbers left.
     |- Try 150 + 18 = 168. Evaluate 168 != 12, drop this branch.
     |- Try 150 - 18 = 132. Evaluate 132 != 12, drop this branch.
     |- Try 150 * 18 = 2700. 2700 exceeds the maximum intermediate result, drop this branch.
     |- Try 150 / 18 = 8.3. 8.3 is a decimal, drop this branch.
    |- Try 144 - 6 = 138. Add 138 to the number set. Current number set: [138, 18], target: 12, just two numbers left.
     |- Try 138 + 18 = 156. Evaluate 156 != 12, drop this branch.
     |- Try 138 - 18 = 120. Evaluate 120 != 12, drop this branch.
     |- Try 138 * 18 = 2484. 2484 exceeds the maximum intermediate result, drop this branch.
     |- Try 138 / 18 = 7.7. 7.7 is a decimal, drop this branch.
    |- Try 144 * 6 = 864. Add 864 to the number set. Current number set: [864, 18], target: 12, just two numbers left.
     |- Try 864 + 18 = 882. Evaluate 882 != 12, drop this branch.
     |- Try 864 - 18 = 846. Evaluate 846 != 12, drop this branch.
     |- Try 864 * 18 = 15552. 15552 exceeds the maximum intermediate result, drop this branch.
     |- Try 864 / 18 = 48. Evaluate 48 != 12, drop this branch.
    |- Try 144 / 6 = 24. Add 24 to the number set. Current number set: [24, 18], target: 12, just two numbers left.
     |- Try 24 + 18 = 42. Evaluate 42 != 12, drop this branch.
     |- Try 24 - 18 = 6. Evaluate 6 != 12, drop this branch.
     |- Try 24 * 18 = 432. Evaluate 432 != 12, drop this branch.
     |- Try 24 / 18 = 1.3. 1.3 is a decimal, drop this branch.
   |- Pick two numbers (144, 18) (numbers left: [6]). Try possible operations.
    |- Try 144 + 18 = 162. Add 162 to the number set. Current number set: [162, 6], target: 12, just two numbers left.
     |- Try 162 + 6 = 168. Evaluate 168 != 12, drop this branch.
     |- Try 162 - 6 = 156. Evaluate 156 != 12, drop this branch.
     |- Try 162 * 6 = 972. Evaluate 972 != 12, drop this branch.
     |- Try 162 / 6 = 27. Evaluate 27 != 12, drop this branch.
    |- Try 144 - 18 = 126. Add 126 to the number set. Current number set: [126, 6], target: 12, just two numbers left.
     |- Try 126 + 6 = 132. Evaluate 132 != 12, drop this branch.
     |- Try 126 - 6 = 120. Evaluate 120 != 12, drop this branch.
     |- Try 126 * 6 = 756. Evaluate 756 != 12, drop this branch.
     |- Try 126 / 6 = 21. Evaluate 21 != 12, drop this branch.
    |- Try 144 * 18 = 2592. 2592 exceeds the maximum intermediate result, drop this branch.
    |- Try 144 / 18 = 8. Add 8 to the number set. Current number set: [8, 6], target: 12, just two numbers left.
     |- Try 8 + 6 = 14. Evaluate 14 != 12, drop this branch.
     |- Try 8 - 6 = 2. Evaluate 2 != 12, drop this branch.
     |- Try 8 * 6 = 48. Evaluate 48 != 12, drop this branch.
     |- Try 8 / 6 = 1.3. 1.3 is a decimal, drop this branch.
   |- Pick two numbers (6, 18) (numbers left: [144]). Try possible operations.
    |- Try 18 + 6 = 24. Add 24 to the number set. Current number set: [24, 144], target: 12, just two numbers left.
     |- Try 144 + 24 = 168. Evaluate 168 != 12, drop this branch.
     |- Try 144 - 24 = 120. Evaluate 120 != 12, drop this branch.
     |- Try 144 * 24 = 3456. 3456 exceeds the maximum intermediate result, drop this branch.
     |- Try 144 / 24 = 6. Evaluate 6 != 12, drop this branch.
    |- Try 18 - 6 = 12. Add 12 to the number set. Current number set: [12, 144], target: 12, just two numbers left.
     |- Try 144 + 12 = 156. Evaluate 156 != 12, drop this branch.
     |- Try 144 - 12 = 132. Evaluate 132 != 12, drop this branch.
     |- Try 144 * 12 = 1728. Evaluate 1728 != 12, drop this branch.
     |- Try 144 / 12 = 12. Evaluate 12 == 12, target found!

Now we have found the target, let's trace back the solution:
Final step: 144 / 12 = 12
The step before: 18 - 6 = 12
The first step: 16 * 9 = 144

Output the solution in the required format:
<Solution>
16 * 9 = 144
18 - 6 = 12
144 / 12 = 12
</Solution>

[Problem]
Now, solve the following problem. Note that:
- Please carefully read the approach and examples provided above, and follow them to solve the problem.
- Please ALWAYS include your search procedure (after # Search Procedure). The search procedure should follow the format of the examples provided above.
- Please mark your answer with <Solution> and </Solution> tags. The solution should be a sequence of three equations exactly following the format of the examples above, with no additional text in between.

Numbers: [4, 36, 5, 3]
Target: 25

# Search Procedure
Initial number set: [4, 36, 5, 3], target: 25. Options for choosing two numbers: [(4, 36), (4, 5), (4, 3), (36, 5), (36, 3), (5, 3)].
 |- Pick two numbers (4, 36) (numbers left: [5, 3]). Try possible operations.
  |- Try 36 + 4 = 40. Add 40 to the number set. Current number set: [40, 5, 3], target: 25. Options for choosing two numbers: [(40, 5), (40, 3), (5, 3)].
   |- Pick two numbers (40, 5) (numbers left: [3]). Try possible operations.
    |- Try 40 + 5 = 45. Add 45 to the number set. Current number set: [45, 3], target: 25, just two numbers left.
     |- Try 45 + 3 = 48. Evaluate 48 != 25, drop this branch.
     |- Try 45 - 3 = 42. Evaluate 42 != 25, drop this branch.
     |- Try 45 * 3 = 135. Evaluate 135 != 25, drop this branch.
     |- Try 45 / 3 = 15. Evaluate 15 != 25, drop this branch.
    |- Try 40 - 5 = 35. Add 35 to the number set. Current number set: [35, 3], target: 25, just two numbers left.
     |- Try 35 + 3 = 38. Evaluate 38 != 25, drop this branch.
     |- Try 35 - 3 = 32. Evaluate 32 != 25, drop this branch.
     |- Try 35 * 3 = 105. Evaluate 105 != 25, drop this branch.
     |- Try 35 / 3 = 11.7. 11.7 is a decimal, drop this branch.
    |- Try 40 * 5 = 200. Add 200 to the number set. Current number set: [200, 3], target: 25, just two numbers left.
     |- Try 200 + 3 = 203. Evaluate 203 != 25, drop this branch.
     |- Try 200 - 3 = 197. Evaluate 197 != 25, drop this branch.
     |- Try 200 * 3 = 600. Evaluate 600 != 25, drop this branch.
     |- Try 200 / 3 = 66.7. 66.7 is a decimal, drop this branch.
    |- Try 40 / 5 = 8. Add 8 to the number set. Current number set: [8, 3], target: 25, just two numbers left.
     |- Try 8 + 3 = 11. Evaluate 11 != 25, drop this branch.
     |- Try 8 - 3 = 5. Evaluate 5 != 25, drop this branch.
     |- Try 8 * 3 = 24. Evaluate 24 != 25, drop this branch.
     |- Try 8 / 3 = 2.7. 2.7 is a decimal, drop this branch.
   |- Pick two numbers (40, 3) (numbers left: [5]). Try possible operations.
    |- Try 40 + 3 = 43. Add 43 to the number set. Current number set: [43, 5], target: 25, just two numbers left.
     |- Try 43 + 5 = 48. Evaluate 48 != 25, drop this branch.
     |- Try 43 - 5 = 38. Evaluate 38 != 25, drop this branch.
     |- Try 43 * 5 = 215. Evaluate 215 != 25, drop this branch.
     |- Try 43 / 5 = 8.6. 8.6 is a decimal, drop this branch.
    |- Try 40 - 3 = 37. Add 37 to the number set. Current number set: [37, 5], target: 25, just two numbers left.
     |- Try 37 + 5 = 42. Evaluate 42 != 25, drop this branch.
     |- Try 37 - 5 = 32. Evaluate 32 != 25, drop this branch.
     |- Try 37 * 5 = 185. Evaluate 185 != 25, drop this branch.
     |- Try 37 / 5 = 7.4. 7.4 is a decimal, drop this branch.
    |- Try 40 * 3 = 120. Add 120 to the number set. Current number set: [120, 5], target: 25, just two numbers left.
     |- Try 120 + 5 = 125. Evaluate 125 != 25, drop this branch.
     |- Try 120 - 5 = 115. Evaluate 115 != 25, drop this branch.
     |- Try 120 * 5 = 600. Evaluate 600 != 25, drop this branch.
     |- Try 120 / 5 = 24. Evaluate 24 != 25, drop this branch.
    |- Try 40 / 3 = 13.3. 13.3 is a decimal, drop this branch.
   |- Pick two numbers (5, 3) (numbers left: [40]). Try possible operations.
    |- Try 5 + 3 = 8. Add 8 to the number set. Current number set: [8, 40], target: 25, just two numbers left.
     |- Try 40 + 8 = 48. Evaluate 48 != 25, drop this branch.
     |- Try 40 - 8 = 32. Evaluate 32 != 25, drop this branch.
     |- Try 40 * 8 = 320. Evaluate 320 != 25, drop this branch.
     |- Try 40 / 8 = 5. Evaluate 5 != 25, drop this branch.
    |- Try 5 - 3 = 2. Add 2 to the number set. Current number set: [2, 40], target: 25, just two numbers left.
     |- Try 40 + 2 = 42. Evaluate 42 != 25, drop this branch.
     |- Try 40 - 2 = 38. Evaluate 38 != 25, drop this branch.
     |- Try 40 * 2 = 80. Evaluate 80 != 25, drop this branch.
     |- Try 40 / 2 = 20. Evaluate 20 != 25, drop this branch.
    |- Try 5 * 3 = 15. Add 15 to the number set. Current number set: [15, 40], target: 25, just two numbers left.
     |- Try 40 + 15 = 55. Evaluate 55 != 25, drop this branch.
     |- Try 40 - 15 = 25. Evaluate 25 == 25, target found!

Now we have found the target, let's trace back the solution:
Final step: 40 - 15 = 25
The step before: 5 * 3 = 15
The first step: 36 + 4 = 40

Output the solution in the required format:
<Solution>
36 + 4 = 40
5 * 3 = 15
40 - 15 = 25
</Solution>

Solution:
36 + 4 = 40
5 * 3 = 15
40 - 15 = 25


[TASK]
You will be given four numbers and a target number, your task is to find a way to use all four numbers exactly once, along with the basic operations (+, -, *, /), to reach the target number.

[RULES]
- You can use each number exactly once.
- You can use the four basic operations (+, -, *, /).
- The intermediate results must be integers (no decimals allowed).
- The intermediate results must be positive.
- The intermediate results will not exceed 2000.

[APPROACH]
We will solve the problem by searching. Starting from a given set of four numbers, we will follow this search process:
- At each state, we will consider all possible number pairs (in order) from the current number set. Choose one pair and apply one of the four basic operations to them to obtain a new number.
  * If there are still numbers left, we will add the new number to the number set and continue the search.
  * If we have used all numbers, we will check if the new number is equal to the target number. If it is, we have found the solution. Otherwise, we will backtrack.
- Suppose the two numbers we choose are a and b (where a >= b). We will try the four options (a + b), (a - b), (a * b), (a / b) to obtain the new number. Remember to always use the larger number as the first operand.
- If the new number is a decimal, or exceeds the maximum intermediate result, we will discard this branch and backtrack.
- We will continue this process until we reach the target number with four numbers used or exhaust all possible combinations.

[EXAMPLES]
# Example
Numbers: [40, 19, 23, 7]
Target: 29

# Search Procedure
Initial number set: [40, 19, 23, 7], target: 29. Options for choosing two numbers: [(40, 19), (40, 23), (40, 7), (19, 23), (19, 7), (23, 7)].
 |- Pick two numbers (40, 19) (numbers left: [23, 7]). Try possible operations.
  |- Try 40 + 19 = 59. Add 59 to the number set. Current number set: [59, 23, 7], target: 29. Options for choosing two numbers: [(59, 23), (59, 7), (23, 7)].
   |- Pick two numbers (59, 23) (numbers left: [7]). Try possible operations.
    |- Try 59 + 23 = 82. Add 82 to the number set. Current number set: [82, 7], target: 29, just two numbers left.
     |- Try 82 + 7 = 89. Evaluate 89 != 29, drop this branch.
     |- Try 82 - 7 = 75. Evaluate 75 != 29, drop this branch.
     |- Try 82 * 7 = 574. Evaluate 574 != 29, drop this branch.
     |- Try 82 / 7 = 11.7. 11.7 is a decimal, drop this branch.
    |- Try 59 - 23 = 36. Add 36 to the number set. Current number set: [36, 7], target: 29, just two numbers left.
     |- Try 36 + 7 = 43. Evaluate 43 != 29, drop this branch.
     |- Try 36 - 7 = 29. Evaluate 29 == 29, target found!

Now we have found the target, let's trace back the solution:
Final step: 36 - 7 = 29
The step before: 59 - 23 = 36
The first step: 40 + 19 = 59

Output the solution in the required format:
<Solution>
40 + 19 = 59
59 - 23 = 36
36 - 7 = 29
</Solution>

# Example
Numbers: [9, 16, 6, 18]
Target: 12

# Search Procedure
Initial number set: [9, 16, 6, 18], target: 12. Options for choosing two numbers: [(9, 16), (9, 6), (9, 18), (16, 6), (16, 18), (6, 18)].
 |- Pick two numbers (9, 16) (numbers left: [6, 18]). Try possible operations.
  |- Try 16 + 9 = 25. Add 25 to the number set. Current number set: [25, 6, 18], target: 12. Options for choosing two numbers: [(25, 6), (25, 18), (6, 18)].
   |- Pick two numbers (25, 6) (numbers left: [18]). Try possible operations.
    |- Try 25 + 6 = 31. Add 31 to the number set. Current number set: [31, 18], target: 12, just two numbers left.
     |- Try 31 + 18 = 49. Evaluate 49 != 12, drop this branch.
     |- Try 31 - 18 = 13. Evaluate 13 != 12, drop this branch.
     |- Try 31 * 18 = 558. Evaluate 558 != 12, drop this branch.
     |- Try 31 / 18 = 1.7. 1.7 is a decimal, drop this branch.
    |- Try 25 - 6 = 19. Add 19 to the number set. Current number set: [19, 18], target: 12, just two numbers left.
     |- Try 19 + 18 = 37. Evaluate 37 != 12, drop this branch.
     |- Try 19 - 18 = 1. Evaluate 1 != 12, drop this branch.
     |- Try 19 * 18 = 342. Evaluate 342 != 12, drop this branch.
     |- Try 19 / 18 = 1.1. 1.1 is a decimal, drop this branch.
    |- Try 25 * 6 = 150. Add 150 to the number set. Current number set: [150, 18], target: 12, just two numbers left.
     |- Try 150 + 18 = 168. Evaluate 168 != 12, drop this branch.
     |- Try 150 - 18 = 132. Evaluate 132 != 12, drop this branch.
     |- Try 150 * 18 = 2700. 2700 exceeds the maximum intermediate result, drop this branch.
     |- Try 150 / 18 = 8.3. 8.3 is a decimal, drop this branch.
    |- Try 25 / 6 = 4.2. 4.2 is a decimal, drop this branch.
   |- Pick two numbers (25, 18) (numbers left: [6]). Try possible operations.
    |- Try 25 + 18 = 43. Add 43 to the number set. Current number set: [43, 6], target: 12, just two numbers left.
     |- Try 43 + 6 = 49. Evaluate 49 != 12, drop this branch.
     |- Try 43 - 6 = 37. Evaluate 37 != 12, drop this branch.
     |- Try 43 * 6 = 258. Evaluate 258 != 12, drop this branch.
     |- Try 43 / 6 = 7.2. 7.2 is a decimal, drop this branch.
    |- Try 25 - 18 = 7. Add 7 to the number set. Current number set: [7, 6], target: 12, just two numbers left.
     |- Try 7 + 6 = 13. Evaluate 13 != 12, drop this branch.
     |- Try 7 - 6 = 1. Evaluate 1 != 12, drop this branch.
     |- Try 7 * 6 = 42. Evaluate 42 != 12, drop this branch.
     |- Try 7 / 6 = 1.2. 1.2 is a decimal, drop this branch.
    |- Try 25 * 18 = 450. Add 450 to the number set. Current number set: [450, 6], target: 12, just two numbers left.
     |- Try 450 + 6 = 456. Evaluate 456 != 12, drop this branch.
     |- Try 450 - 6 = 444. Evaluate 444 != 12, drop this branch.
     |- Try 450 * 6 = 2700. 2700 exceeds the maximum intermediate result, drop this branch.
     |- Try 450 / 6 = 75. Evaluate 75 != 12, drop this branch.
    |- Try 25 / 18 = 1.4. 1.4 is a decimal, drop this branch.
   |- Pick two numbers (6, 18) (numbers left: [25]). Try possible operations.
    |- Try 18 + 6 = 24. Add 24 to the number set. Current number set: [24, 25], target: 12, just two numbers left.
     |- Try 25 + 24 = 49. Evaluate 49 != 12, drop this branch.
     |- Try 25 - 24 = 1. Evaluate 1 != 12, drop this branch.
     |- Try 25 * 24 = 600. Evaluate 600 != 12, drop this branch.
     |- Try 25 / 24 = 1.0. 1.0 is a decimal, drop this branch.
    |- Try 18 - 6 = 12. Add 12 to the number set. Current number set: [12, 25], target: 12, just two numbers left.
     |- Try 25 + 12 = 37. Evaluate 37 != 12, drop this branch.
     |- Try 25 - 12 = 13. Evaluate 13 != 12, drop this branch.
     |- Try 25 * 12 = 300. Evaluate 300 != 12, drop this branch.
     |- Try 25 / 12 = 2.1. 2.1 is a decimal, drop this branch.
    |- Try 18 * 6 = 108. Add 108 to the number set. Current number set: [108, 25], target: 12, just two numbers left.
     |- Try 108 + 25 = 133. Evaluate 133 != 12, drop this branch.
     |- Try 108 - 25 = 83. Evaluate 83 != 12, drop this branch.
     |- Try 108 * 25 = 2700. 2700 exceeds the maximum intermediate result, drop this branch.
     |- Try 108 / 25 = 4.3. 4.3 is a decimal, drop this branch.
    |- Try 18 / 6 = 3. Add 3 to the number set. Current number set: [3, 25], target: 12, just two numbers left.
     |- Try 25 + 3 = 28. Evaluate 28 != 12, drop this branch.
     |- Try 25 - 3 = 22. Evaluate 22 != 12, drop this branch.
     |- Try 25 * 3 = 75. Evaluate 75 != 12, drop this branch.
     |- Try 25 / 3 = 8.3. 8.3 is a decimal, drop this branch.
  |- Try 16 - 9 = 7. Add 7 to the number set. Current number set: [7, 6, 18], target: 12. Options for choosing two numbers: [(7, 6), (7, 18), (6, 18)].
   |- Pick two numbers (7, 6) (numbers left: [18]). Try possible operations.
    |- Try 7 + 6 = 13. Add 13 to the number set. Current number set: [13, 18], target: 12, just two numbers left.
     |- Try 18 + 13 = 31. Evaluate 31 != 12, drop this branch.
     |- Try 18 - 13 = 5. Evaluate 5 != 12, drop this branch.
     |- Try 18 * 13 = 234. Evaluate 234 != 12, drop this branch.
     |- Try 18 / 13 = 1.4. 1.4 is a decimal, drop this branch.
    |- Try 7 - 6 = 1. Add 1 to the number set. Current number set: [1, 18], target: 12, just two numbers left.
     |- Try 18 + 1 = 19. Evaluate 19 != 12, drop this branch.
     |- Try 18 - 1 = 17. Evaluate 17 != 12, drop this branch.
     |- Try 18 * 1 = 18. Evaluate 18 != 12, drop this branch.
     |- Try 18 / 1 = 18. Evaluate 18 != 12, drop this branch.
    |- Try 7 * 6 = 42. Add 42 to the number set. Current number set: [42, 18], target: 12, just two numbers left.
     |- Try 42 + 18 = 60. Evaluate 60 != 12, drop this branch.
     |- Try 42 - 18 = 24. Evaluate 24 != 12, drop this branch.
     |- Try 42 * 18 = 756. Evaluate 756 != 12, drop this branch.
     |- Try 42 / 18 = 2.3. 2.3 is a decimal, drop this branch.
    |- Try 7 / 6 = 1.2. 1.2 is a decimal, drop this branch.
   |- Pick two numbers (7, 18) (numbers left: [6]). Try possible operations.
    |- Try 18 + 7 = 25. Add 25 to the number set. Current number set: [25, 6], target: 12, just two numbers left.
     |- Try 25 + 6 = 31. Evaluate 31 != 12, drop this branch.
     |- Try 25 - 6 = 19. Evaluate 19 != 12, drop this branch.
     |- Try 25 * 6 = 150. Evaluate 150 != 12, drop this branch.
     |- Try 25 / 6 = 4.2. 4.2 is a decimal, drop this branch.
    |- Try 18 - 7 = 11. Add 11 to the number set. Current number set: [11, 6], target: 12, just two numbers left.
     |- Try 11 + 6 = 17. Evaluate 17 != 12, drop this branch.
     |- Try 11 - 6 = 5. Evaluate 5 != 12, drop this branch.
     |- Try 11 * 6 = 66. Evaluate 66 != 12, drop this branch.
     |- Try 11 / 6 = 1.8. 1.8 is a decimal, drop this branch.
    |- Try 18 * 7 = 126. Add 126 to the number set. Current number set: [126, 6], target: 12, just two numbers left.
     |- Try 126 + 6 = 132. Evaluate 132 != 12, drop this branch.
     |- Try 126 - 6 = 120. Evaluate 120 != 12, drop this branch.
     |- Try 126 * 6 = 756. Evaluate 756 != 12, drop this branch.
     |- Try 126 / 6 = 21. Evaluate 21 != 12, drop this branch.
    |- Try 18 / 7 = 2.6. 2.6 is a decimal, drop this branch.
   |- Pick two numbers (6, 18) (numbers left: [7]). Try possible operations.
    |- Try 18 + 6 = 24. Add 24 to the number set. Current number set: [24, 7], target: 12, just two numbers left.
     |- Try 24 + 7 = 31. Evaluate 31 != 12, drop this branch.
     |- Try 24 - 7 = 17. Evaluate 17 != 12, drop this branch.
     |- Try 24 * 7 = 168. Evaluate 168 != 12, drop this branch.
     |- Try 24 / 7 = 3.4. 3.4 is a decimal, drop this branch.
    |- Try 18 - 6 = 12. Add 12 to the number set. Current number set: [12, 7], target: 12, just two numbers left.
     |- Try 12 + 7 = 19. Evaluate 19 != 12, drop this branch.
     |- Try 12 - 7 = 5. Evaluate 5 != 12, drop this branch.
     |- Try 12 * 7 = 84. Evaluate 84 != 12, drop this branch.
     |- Try 12 / 7 = 1.7. 1.7 is a decimal, drop this branch.
    |- Try 18 * 6 = 108. Add 108 to the number set. Current number set: [108, 7], target: 12, just two numbers left.
     |- Try 108 + 7 = 115. Evaluate 115 != 12, drop this branch.
     |- Try 108 - 7 = 101. Evaluate 101 != 12, drop this branch.
     |- Try 108 * 7 = 756. Evaluate 756 != 12, drop this branch.
     |- Try 108 / 7 = 15.4. 15.4 is a decimal, drop this branch.
    |- Try 18 / 6 = 3. Add 3 to the number set. Current number set: [3, 7], target: 12, just two numbers left.
     |- Try 7 + 3 = 10. Evaluate 10 != 12, drop this branch.
     |- Try 7 - 3 = 4. Evaluate 4 != 12, drop this branch.
     |- Try 7 * 3 = 21. Evaluate 21 != 12, drop this branch.
     |- Try 7 / 3 = 2.3. 2.3 is a decimal, drop this branch.
  |- Try 16 * 9 = 144. Add 144 to the number set. Current number set: [144, 6, 18], target: 12. Options for choosing two numbers: [(144, 6), (144, 18), (6, 18)].
   |- Pick two numbers (144, 6) (numbers left: [18]). Try possible operations.
    |- Try 144 + 6 = 150. Add 150 to the number set. Current number set: [150, 18], target: 12, just two numbers left.
     |- Try 150 + 18 = 168. Evaluate 168 != 12, drop this branch.
     |- Try 150 - 18 = 132. Evaluate 132 != 12, drop this branch.
     |- Try 150 * 18 = 2700. 2700 exceeds the maximum intermediate result, drop this branch.
     |- Try 150 / 18 = 8.3. 8.3 is a decimal, drop this branch.
    |- Try 144 - 6 = 138. Add 138 to the number set. Current number set: [138, 18], target: 12, just two numbers left.
     |- Try 138 + 18 = 156. Evaluate 156 != 12, drop this branch.
     |- Try 138 - 18 = 120. Evaluate 120 != 12, drop this branch.
     |- Try 138 * 18 = 2484. 2484 exceeds the maximum intermediate result, drop this branch.
     |- Try 138 / 18 = 7.7. 7.7 is a decimal, drop this branch.
    |- Try 144 * 6 = 864. Add 864 to the number set. Current number set: [864, 18], target: 12, just two numbers left.
     |- Try 864 + 18 = 882. Evaluate 882 != 12, drop this branch.
     |- Try 864 - 18 = 846. Evaluate 846 != 12, drop this branch.
     |- Try 864 * 18 = 15552. 15552 exceeds the maximum intermediate result, drop this branch.
     |- Try 864 / 18 = 48. Evaluate 48 != 12, drop this branch.
    |- Try 144 / 6 = 24. Add 24 to the number set. Current number set: [24, 18], target: 12, just two numbers left.
     |- Try 24 + 18 = 42. Evaluate 42 != 12, drop this branch.
     |- Try 24 - 18 = 6. Evaluate 6 != 12, drop this branch.
     |- Try 24 * 18 = 432. Evaluate 432 != 12, drop this branch.
     |- Try 24 / 18 = 1.3. 1.3 is a decimal, drop this branch.
   |- Pick two numbers (144, 18) (numbers left: [6]). Try possible operations.
    |- Try 144 + 18 = 162. Add 162 to the number set. Current number set: [162, 6], target: 12, just two numbers left.
     |- Try 162 + 6 = 168. Evaluate 168 != 12, drop this branch.
     |- Try 162 - 6 = 156. Evaluate 156 != 12, drop this branch.
     |- Try 162 * 6 = 972. Evaluate 972 != 12, drop this branch.
     |- Try 162 / 6 = 27. Evaluate 27 != 12, drop this branch.
    |- Try 144 - 18 = 126. Add 126 to the number set. Current number set: [126, 6], target: 12, just two numbers left.
     |- Try 126 + 6 = 132. Evaluate 132 != 12, drop this branch.
     |- Try 126 - 6 = 120. Evaluate 120 != 12, drop this branch.
     |- Try 126 * 6 = 756. Evaluate 756 != 12, drop this branch.
     |- Try 126 / 6 = 21. Evaluate 21 != 12, drop this branch.
    |- Try 144 * 18 = 2592. 2592 exceeds the maximum intermediate result, drop this branch.
    |- Try 144 / 18 = 8. Add 8 to the number set. Current number set: [8, 6], target: 12, just two numbers left.
     |- Try 8 + 6 = 14. Evaluate 14 != 12, drop this branch.
     |- Try 8 - 6 = 2. Evaluate 2 != 12, drop this branch.
     |- Try 8 * 6 = 48. Evaluate 48 != 12, drop this branch.
     |- Try 8 / 6 = 1.3. 1.3 is a decimal, drop this branch.
   |- Pick two numbers (6, 18) (numbers left: [144]). Try possible operations.
    |- Try 18 + 6 = 24. Add 24 to the number set. Current number set: [24, 144], target: 12, just two numbers left.
     |- Try 144 + 24 = 168. Evaluate 168 != 12, drop this branch.
     |- Try 144 - 24 = 120. Evaluate 120 != 12, drop this branch.
     |- Try 144 * 24 = 3456. 3456 exceeds the maximum intermediate result, drop this branch.
     |- Try 144 / 24 = 6. Evaluate 6 != 12, drop this branch.
    |- Try 18 - 6 = 12. Add 12 to the number set. Current number set: [12, 144], target: 12, just two numbers left.
     |- Try 144 + 12 = 156. Evaluate 156 != 12, drop this branch.
     |- Try 144 - 12 = 132. Evaluate 132 != 12, drop this branch.
     |- Try 144 * 12 = 1728. Evaluate 1728 != 12, drop this branch.
     |- Try 144 / 12 = 12. Evaluate 12 == 12, target found!

Now we have found the target, let's trace back the solution:
Final step: 144 / 12 = 12
The step before: 18 - 6 = 12
The first step: 16 * 9 = 144

Output the solution in the required format:
<Solution>
16 * 9 = 144
18 - 6 = 12
144 / 12 = 12
</Solution>

[Problem]
Now, solve the following problem. Note that:
- Please carefully read the approach and examples provided above, and follow them to solve the problem.
- Please ALWAYS include your search procedure (after # Search Procedure). The search procedure should follow the format of the examples provided above.
- Please mark your answer with <Solution> and </Solution> tags. The solution should be a sequence of three equations exactly following the format of the examples above, with no additional text in between.

Numbers: [44, 7, 28, 35]
Target: 26

# Search Procedure
Initial number set: [44, 7, 28, 35], target: 26. Options for choosing two numbers: [(44, 7), (44, 28), (44, 35), (7, 28), (7, 35), (28, 35)].
 |- Pick two numbers (44, 7) (numbers left: [28, 35]). Try possible operations.
  |- Try 44 + 7 = 51. Add 51 to the number set. Current number set: [51, 28, 35], target: 26. Options for choosing two numbers: [(51, 28), (51, 35), (28, 35)].
   |- Pick two numbers (51, 28) (numbers left: [35]). Try possible operations.
    |- Try 51 + 28 = 79. Add 79 to the number set. Current number set: [79, 35], target: 26, just two numbers left.
     |- Try 79 + 35 = 114. Evaluate 114 != 26, drop this branch.
     |- Try 79 - 35 = 44. Evaluate 44 != 26, drop this branch.
     |- Try 79 * 35 = 2765. 2765 exceeds the maximum intermediate result, drop this branch.
     |- Try 79 / 35 = 2.3. 2.3 is a decimal, drop this branch.
    |- Try 51 - 28 = 23. Add 23 to the number set. Current number set: [23, 35], target: 26, just two numbers left.
     |- Try 35 + 23 = 58. Evaluate 58 != 26, drop this branch.
     |- Try 35 - 23 = 12. Evaluate 12 != 26, drop this branch.
     |- Try 35 * 23 = 805. Evaluate 805 != 26, drop this branch.
     |- Try 35 / 23 = 1.5. 1.5 is a decimal, drop this branch.
    |- Try 51 * 28 = 1428. Add 1428 to the number set. Current number set: [1428, 35], target: 26, just two numbers left.
     |- Try 1428 + 35 = 1463. Evaluate 1463 != 26, drop this branch.
     |- Try 1428 - 35 = 1393. Evaluate 1393 != 26, drop this branch.
     |- Try 1428 * 35 = 49980. 49980 exceeds the maximum intermediate result, drop this branch.
     |- Try 1428 / 35 = 40.8. 40.8 is a decimal, drop this branch.
    |- Try 51 / 28 = 1.8. 1.8 is a decimal, drop this branch.
   |- Pick two numbers (51, 35) (numbers left: [28]). Try possible operations.
    |- Try 51 + 35 = 86. Add 86 to the number set. Current number set: [86, 28], target: 26, just two numbers left.
     |- Try 86 + 28 = 114. Evaluate 114 != 26, drop this branch.
     |- Try 86 - 28 = 58. Evaluate 58 != 26, drop this branch.
     |- Try 86 * 28 = 2408. 2408 exceeds the maximum intermediate result, drop this branch.
     |- Try 86 / 28 = 3.1. 3.1 is a decimal, drop this branch.
    |- Try 51 - 35 = 16. Add 16 to the number set. Current number set: [16, 28], target: 26, just two numbers left.
     |- Try 28 + 16 = 44. Evaluate 44 != 26, drop this branch.
     |- Try 28 - 16 = 12. Evaluate 12 != 26, drop this branch.
     |- Try 28 * 16 = 448. Evaluate 448 != 26, drop this branch.
     |- Try 28 / 16 = 1.8. 1.8 is a decimal, drop this branch.
    |- Try 51 * 35 = 1785. Add 1785 to the number set. Current number set: [1785, 28], target: 26, just two numbers left.
     |- Try 1785 + 28 = 1813. Evaluate 1813 != 26, drop this branch.
     |- Try 1785 - 28 = 1757. Evaluate 1757 != 26, drop this branch.
     |- Try 1785 * 28 = 49980. 49980 exceeds the maximum intermediate result, drop this branch.
     |- Try 1785 / 28 = 63.8. 63.8 is a decimal, drop this branch.
    |- Try 51 / 35 = 1.5. 1.5 is a decimal, drop this branch.
   |- Pick two numbers (28, 35) (numbers left: [51]). Try possible operations.
    |- Try 35 + 28 = 63. Add 63 to the number set. Current number set: [63, 51], target: 26, just two numbers left.
     |- Try 63 + 51 = 114. Evaluate 114 != 26, drop this branch.
     |- Try 63 - 51 = 12. Evaluate 12 != 26, drop this branch.
     |- Try 63 * 51 = 3213. 3213 exceeds the maximum intermediate result, drop this branch.
     |- Try 63 / 51 = 1.2. 1.2 is a decimal, drop this branch.
    |- Try 35 - 28 = 7. Add 7 to the number set. Current number set: [7, 51], target: 26, just two numbers left.
     |- Try 51 + 7 = 58. Evaluate 58 != 26, drop this branch.
     |- Try 51 - 7 = 44. Evaluate 44 != 26, drop this branch.
     |- Try 51 * 7 = 357. Evaluate 357 != 26, drop this branch.
     |- Try 51 / 7 = 7.3. 7.3 is a decimal, drop this branch.
    |- Try 35 * 28 = 980. Add 980 to the number set. Current number set: [980, 51], target: 26, just two numbers left.
     |- Try 980 + 51 = 1031. Evaluate 1031 != 26, drop this branch.
     |- Try 980 - 51 = 929. Evaluate 929 != 26, drop this branch.
     |- Try 980 * 51 = 49980. 49980 exceeds the maximum intermediate result, drop this branch.
     |- Try 980 / 51 = 19.2. 19.2 is a decimal, drop this branch.
    |- Try 35 / 28 = 1.2. 1.2 is a decimal, drop this branch.
  |- Try 44 - 7 = 37. Add 37 to the number set. Current number set: [37, 28, 35], target: 26. Options for choosing two numbers: [(37, 28), (37, 35), (28, 35)].
   |- Pick two numbers (37, 28) (numbers left: [35]). Try possible operations.
    |- Try 37 + 28 = 65. Add 65 to the number set. Current number set: [65, 35], target: 26, just two numbers left.
     |- Try 65 + 35 = 100. Evaluate 100 != 26, drop this branch.
     |- Try 65 - 35 = 30. Evaluate 30 != 26, drop this branch.
     |- Try 65 * 35 = 2275. 2275 exceeds the maximum intermediate result, drop this branch.
     |- Try 65 / 35 = 1.9. 1.9 is a decimal, drop this branch.
    |- Try 37 - 28 = 9. Add 9 to the number set. Current number set: [9, 35], target: 26, just two numbers left.
     |- Try 35 + 9 = 44. Evaluate 44 != 26, drop this branch.
     |- Try 35 - 9 = 26. Evaluate 26 == 26, target found!

Now we have found the target, let's trace back the solution:
Final step: 35 - 9 = 26
The step before: 37 - 28 = 9
The first step: 44 - 7 = 37

Output the solution in the required format:
<Solution>
44 - 7 = 37
37 - 28 = 9
35 - 9 = 26
</Solution>

Solution:
44 - 7 = 37
37 - 28 = 9
35 - 9 = 26


[TASK]
You will be given four numbers and a target number, your task is to find a way to use all four numbers exactly once, along with the basic operations (+, -, *, /), to reach the target number.

[RULES]
- You can use each number exactly once.
- You can use the four basic operations (+, -, *, /).
- The intermediate results must be integers (no decimals allowed).
- The intermediate results must be positive.
- The intermediate results will not exceed 2000.

[APPROACH]
We will solve the problem by searching. Starting from a given set of four numbers, we will follow this search process:
- At each state, we will consider all possible number pairs (in order) from the current number set. Choose one pair and apply one of the four basic operations to them to obtain a new number.
  * If there are still numbers left, we will add the new number to the number set and continue the search.
  * If we have used all numbers, we will check if the new number is equal to the target number. If it is, we have found the solution. Otherwise, we will backtrack.
- Suppose the two numbers we choose are a and b (where a >= b). We will try the four options (a + b), (a - b), (a * b), (a / b) to obtain the new number. Remember to always use the larger number as the first operand.
- If the new number is a decimal, or exceeds the maximum intermediate result, we will discard this branch and backtrack.
- We will continue this process until we reach the target number with four numbers used or exhaust all possible combinations.

[EXAMPLES]
# Example
Numbers: [40, 19, 23, 7]
Target: 29

# Search Procedure
Initial number set: [40, 19, 23, 7], target: 29. Options for choosing two numbers: [(40, 19), (40, 23), (40, 7), (19, 23), (19, 7), (23, 7)].
 |- Pick two numbers (40, 19) (numbers left: [23, 7]). Try possible operations.
  |- Try 40 + 19 = 59. Add 59 to the number set. Current number set: [59, 23, 7], target: 29. Options for choosing two numbers: [(59, 23), (59, 7), (23, 7)].
   |- Pick two numbers (59, 23) (numbers left: [7]). Try possible operations.
    |- Try 59 + 23 = 82. Add 82 to the number set. Current number set: [82, 7], target: 29, just two numbers left.
     |- Try 82 + 7 = 89. Evaluate 89 != 29, drop this branch.
     |- Try 82 - 7 = 75. Evaluate 75 != 29, drop this branch.
     |- Try 82 * 7 = 574. Evaluate 574 != 29, drop this branch.
     |- Try 82 / 7 = 11.7. 11.7 is a decimal, drop this branch.
    |- Try 59 - 23 = 36. Add 36 to the number set. Current number set: [36, 7], target: 29, just two numbers left.
     |- Try 36 + 7 = 43. Evaluate 43 != 29, drop this branch.
     |- Try 36 - 7 = 29. Evaluate 29 == 29, target found!

Now we have found the target, let's trace back the solution:
Final step: 36 - 7 = 29
The step before: 59 - 23 = 36
The first step: 40 + 19 = 59

Output the solution in the required format:
<Solution>
40 + 19 = 59
59 - 23 = 36
36 - 7 = 29
</Solution>

# Example
Numbers: [9, 16, 6, 18]
Target: 12

# Search Procedure
Initial number set: [9, 16, 6, 18], target: 12. Options for choosing two numbers: [(9, 16), (9, 6), (9, 18), (16, 6), (16, 18), (6, 18)].
 |- Pick two numbers (9, 16) (numbers left: [6, 18]). Try possible operations.
  |- Try 16 + 9 = 25. Add 25 to the number set. Current number set: [25, 6, 18], target: 12. Options for choosing two numbers: [(25, 6), (25, 18), (6, 18)].
   |- Pick two numbers (25, 6) (numbers left: [18]). Try possible operations.
    |- Try 25 + 6 = 31. Add 31 to the number set. Current number set: [31, 18], target: 12, just two numbers left.
     |- Try 31 + 18 = 49. Evaluate 49 != 12, drop this branch.
     |- Try 31 - 18 = 13. Evaluate 13 != 12, drop this branch.
     |- Try 31 * 18 = 558. Evaluate 558 != 12, drop this branch.
     |- Try 31 / 18 = 1.7. 1.7 is a decimal, drop this branch.
    |- Try 25 - 6 = 19. Add 19 to the number set. Current number set: [19, 18], target: 12, just two numbers left.
     |- Try 19 + 18 = 37. Evaluate 37 != 12, drop this branch.
     |- Try 19 - 18 = 1. Evaluate 1 != 12, drop this branch.
     |- Try 19 * 18 = 342. Evaluate 342 != 12, drop this branch.
     |- Try 19 / 18 = 1.1. 1.1 is a decimal, drop this branch.
    |- Try 25 * 6 = 150. Add 150 to the number set. Current number set: [150, 18], target: 12, just two numbers left.
     |- Try 150 + 18 = 168. Evaluate 168 != 12, drop this branch.
     |- Try 150 - 18 = 132. Evaluate 132 != 12, drop this branch.
     |- Try 150 * 18 = 2700. 2700 exceeds the maximum intermediate result, drop this branch.
     |- Try 150 / 18 = 8.3. 8.3 is a decimal, drop this branch.
    |- Try 25 / 6 = 4.2. 4.2 is a decimal, drop this branch.
   |- Pick two numbers (25, 18) (numbers left: [6]). Try possible operations.
    |- Try 25 + 18 = 43. Add 43 to the number set. Current number set: [43, 6], target: 12, just two numbers left.
     |- Try 43 + 6 = 49. Evaluate 49 != 12, drop this branch.
     |- Try 43 - 6 = 37. Evaluate 37 != 12, drop this branch.
     |- Try 43 * 6 = 258. Evaluate 258 != 12, drop this branch.
     |- Try 43 / 6 = 7.2. 7.2 is a decimal, drop this branch.
    |- Try 25 - 18 = 7. Add 7 to the number set. Current number set: [7, 6], target: 12, just two numbers left.
     |- Try 7 + 6 = 13. Evaluate 13 != 12, drop this branch.
     |- Try 7 - 6 = 1. Evaluate 1 != 12, drop this branch.
     |- Try 7 * 6 = 42. Evaluate 42 != 12, drop this branch.
     |- Try 7 / 6 = 1.2. 1.2 is a decimal, drop this branch.
    |- Try 25 * 18 = 450. Add 450 to the number set. Current number set: [450, 6], target: 12, just two numbers left.
     |- Try 450 + 6 = 456. Evaluate 456 != 12, drop this branch.
     |- Try 450 - 6 = 444. Evaluate 444 != 12, drop this branch.
     |- Try 450 * 6 = 2700. 2700 exceeds the maximum intermediate result, drop this branch.
     |- Try 450 / 6 = 75. Evaluate 75 != 12, drop this branch.
    |- Try 25 / 18 = 1.4. 1.4 is a decimal, drop this branch.
   |- Pick two numbers (6, 18) (numbers left: [25]). Try possible operations.
    |- Try 18 + 6 = 24. Add 24 to the number set. Current number set: [24, 25], target: 12, just two numbers left.
     |- Try 25 + 24 = 49. Evaluate 49 != 12, drop this branch.
     |- Try 25 - 24 = 1. Evaluate 1 != 12, drop this branch.
     |- Try 25 * 24 = 600. Evaluate 600 != 12, drop this branch.
     |- Try 25 / 24 = 1.0. 1.0 is a decimal, drop this branch.
    |- Try 18 - 6 = 12. Add 12 to the number set. Current number set: [12, 25], target: 12, just two numbers left.
     |- Try 25 + 12 = 37. Evaluate 37 != 12, drop this branch.
     |- Try 25 - 12 = 13. Evaluate 13 != 12, drop this branch.
     |- Try 25 * 12 = 300. Evaluate 300 != 12, drop this branch.
     |- Try 25 / 12 = 2.1. 2.1 is a decimal, drop this branch.
    |- Try 18 * 6 = 108. Add 108 to the number set. Current number set: [108, 25], target: 12, just two numbers left.
     |- Try 108 + 25 = 133. Evaluate 133 != 12, drop this branch.
     |- Try 108 - 25 = 83. Evaluate 83 != 12, drop this branch.
     |- Try 108 * 25 = 2700. 2700 exceeds the maximum intermediate result, drop this branch.
     |- Try 108 / 25 = 4.3. 4.3 is a decimal, drop this branch.
    |- Try 18 / 6 = 3. Add 3 to the number set. Current number set: [3, 25], target: 12, just two numbers left.
     |- Try 25 + 3 = 28. Evaluate 28 != 12, drop this branch.
     |- Try 25 - 3 = 22. Evaluate 22 != 12, drop this branch.
     |- Try 25 * 3 = 75. Evaluate 75 != 12, drop this branch.
     |- Try 25 / 3 = 8.3. 8.3 is a decimal, drop this branch.
  |- Try 16 - 9 = 7. Add 7 to the number set. Current number set: [7, 6, 18], target: 12. Options for choosing two numbers: [(7, 6), (7, 18), (6, 18)].
   |- Pick two numbers (7, 6) (numbers left: [18]). Try possible operations.
    |- Try 7 + 6 = 13. Add 13 to the number set. Current number set: [13, 18], target: 12, just two numbers left.
     |- Try 18 + 13 = 31. Evaluate 31 != 12, drop this branch.
     |- Try 18 - 13 = 5. Evaluate 5 != 12, drop this branch.
     |- Try 18 * 13 = 234. Evaluate 234 != 12, drop this branch.
     |- Try 18 / 13 = 1.4. 1.4 is a decimal, drop this branch.
    |- Try 7 - 6 = 1. Add 1 to the number set. Current number set: [1, 18], target: 12, just two numbers left.
     |- Try 18 + 1 = 19. Evaluate 19 != 12, drop this branch.
     |- Try 18 - 1 = 17. Evaluate 17 != 12, drop this branch.
     |- Try 18 * 1 = 18. Evaluate 18 != 12, drop this branch.
     |- Try 18 / 1 = 18. Evaluate 18 != 12, drop this branch.
    |- Try 7 * 6 = 42. Add 42 to the number set. Current number set: [42, 18], target: 12, just two numbers left.
     |- Try 42 + 18 = 60. Evaluate 60 != 12, drop this branch.
     |- Try 42 - 18 = 24. Evaluate 24 != 12, drop this branch.
     |- Try 42 * 18 = 756. Evaluate 756 != 12, drop this branch.
     |- Try 42 / 18 = 2.3. 2.3 is a decimal, drop this branch.
    |- Try 7 / 6 = 1.2. 1.2 is a decimal, drop this branch.
   |- Pick two numbers (7, 18) (numbers left: [6]). Try possible operations.
    |- Try 18 + 7 = 25. Add 25 to the number set. Current number set: [25, 6], target: 12, just two numbers left.
     |- Try 25 + 6 = 31. Evaluate 31 != 12, drop this branch.
     |- Try 25 - 6 = 19. Evaluate 19 != 12, drop this branch.
     |- Try 25 * 6 = 150. Evaluate 150 != 12, drop this branch.
     |- Try 25 / 6 = 4.2. 4.2 is a decimal, drop this branch.
    |- Try 18 - 7 = 11. Add 11 to the number set. Current number set: [11, 6], target: 12, just two numbers left.
     |- Try 11 + 6 = 17. Evaluate 17 != 12, drop this branch.
     |- Try 11 - 6 = 5. Evaluate 5 != 12, drop this branch.
     |- Try 11 * 6 = 66. Evaluate 66 != 12, drop this branch.
     |- Try 11 / 6 = 1.8. 1.8 is a decimal, drop this branch.
    |- Try 18 * 7 = 126. Add 126 to the number set. Current number set: [126, 6], target: 12, just two numbers left.
     |- Try 126 + 6 = 132. Evaluate 132 != 12, drop this branch.
     |- Try 126 - 6 = 120. Evaluate 120 != 12, drop this branch.
     |- Try 126 * 6 = 756. Evaluate 756 != 12, drop this branch.
     |- Try 126 / 6 = 21. Evaluate 21 != 12, drop this branch.
    |- Try 18 / 7 = 2.6. 2.6 is a decimal, drop this branch.
   |- Pick two numbers (6, 18) (numbers left: [7]). Try possible operations.
    |- Try 18 + 6 = 24. Add 24 to the number set. Current number set: [24, 7], target: 12, just two numbers left.
     |- Try 24 + 7 = 31. Evaluate 31 != 12, drop this branch.
     |- Try 24 - 7 = 17. Evaluate 17 != 12, drop this branch.
     |- Try 24 * 7 = 168. Evaluate 168 != 12, drop this branch.
     |- Try 24 / 7 = 3.4. 3.4 is a decimal, drop this branch.
    |- Try 18 - 6 = 12. Add 12 to the number set. Current number set: [12, 7], target: 12, just two numbers left.
     |- Try 12 + 7 = 19. Evaluate 19 != 12, drop this branch.
     |- Try 12 - 7 = 5. Evaluate 5 != 12, drop this branch.
     |- Try 12 * 7 = 84. Evaluate 84 != 12, drop this branch.
     |- Try 12 / 7 = 1.7. 1.7 is a decimal, drop this branch.
    |- Try 18 * 6 = 108. Add 108 to the number set. Current number set: [108, 7], target: 12, just two numbers left.
     |- Try 108 + 7 = 115. Evaluate 115 != 12, drop this branch.
     |- Try 108 - 7 = 101. Evaluate 101 != 12, drop this branch.
     |- Try 108 * 7 = 756. Evaluate 756 != 12, drop this branch.
     |- Try 108 / 7 = 15.4. 15.4 is a decimal, drop this branch.
    |- Try 18 / 6 = 3. Add 3 to the number set. Current number set: [3, 7], target: 12, just two numbers left.
     |- Try 7 + 3 = 10. Evaluate 10 != 12, drop this branch.
     |- Try 7 - 3 = 4. Evaluate 4 != 12, drop this branch.
     |- Try 7 * 3 = 21. Evaluate 21 != 12, drop this branch.
     |- Try 7 / 3 = 2.3. 2.3 is a decimal, drop this branch.
  |- Try 16 * 9 = 144. Add 144 to the number set. Current number set: [144, 6, 18], target: 12. Options for choosing two numbers: [(144, 6), (144, 18), (6, 18)].
   |- Pick two numbers (144, 6) (numbers left: [18]). Try possible operations.
    |- Try 144 + 6 = 150. Add 150 to the number set. Current number set: [150, 18], target: 12, just two numbers left.
     |- Try 150 + 18 = 168. Evaluate 168 != 12, drop this branch.
     |- Try 150 - 18 = 132. Evaluate 132 != 12, drop this branch.
     |- Try 150 * 18 = 2700. 2700 exceeds the maximum intermediate result, drop this branch.
     |- Try 150 / 18 = 8.3. 8.3 is a decimal, drop this branch.
    |- Try 144 - 6 = 138. Add 138 to the number set. Current number set: [138, 18], target: 12, just two numbers left.
     |- Try 138 + 18 = 156. Evaluate 156 != 12, drop this branch.
     |- Try 138 - 18 = 120. Evaluate 120 != 12, drop this branch.
     |- Try 138 * 18 = 2484. 2484 exceeds the maximum intermediate result, drop this branch.
     |- Try 138 / 18 = 7.7. 7.7 is a decimal, drop this branch.
    |- Try 144 * 6 = 864. Add 864 to the number set. Current number set: [864, 18], target: 12, just two numbers left.
     |- Try 864 + 18 = 882. Evaluate 882 != 12, drop this branch.
     |- Try 864 - 18 = 846. Evaluate 846 != 12, drop this branch.
     |- Try 864 * 18 = 15552. 15552 exceeds the maximum intermediate result, drop this branch.
     |- Try 864 / 18 = 48. Evaluate 48 != 12, drop this branch.
    |- Try 144 / 6 = 24. Add 24 to the number set. Current number set: [24, 18], target: 12, just two numbers left.
     |- Try 24 + 18 = 42. Evaluate 42 != 12, drop this branch.
     |- Try 24 - 18 = 6. Evaluate 6 != 12, drop this branch.
     |- Try 24 * 18 = 432. Evaluate 432 != 12, drop this branch.
     |- Try 24 / 18 = 1.3. 1.3 is a decimal, drop this branch.
   |- Pick two numbers (144, 18) (numbers left: [6]). Try possible operations.
    |- Try 144 + 18 = 162. Add 162 to the number set. Current number set: [162, 6], target: 12, just two numbers left.
     |- Try 162 + 6 = 168. Evaluate 168 != 12, drop this branch.
     |- Try 162 - 6 = 156. Evaluate 156 != 12, drop this branch.
     |- Try 162 * 6 = 972. Evaluate 972 != 12, drop this branch.
     |- Try 162 / 6 = 27. Evaluate 27 != 12, drop this branch.
    |- Try 144 - 18 = 126. Add 126 to the number set. Current number set: [126, 6], target: 12, just two numbers left.
     |- Try 126 + 6 = 132. Evaluate 132 != 12, drop this branch.
     |- Try 126 - 6 = 120. Evaluate 120 != 12, drop this branch.
     |- Try 126 * 6 = 756. Evaluate 756 != 12, drop this branch.
     |- Try 126 / 6 = 21. Evaluate 21 != 12, drop this branch.
    |- Try 144 * 18 = 2592. 2592 exceeds the maximum intermediate result, drop this branch.
    |- Try 144 / 18 = 8. Add 8 to the number set. Current number set: [8, 6], target: 12, just two numbers left.
     |- Try 8 + 6 = 14. Evaluate 14 != 12, drop this branch.
     |- Try 8 - 6 = 2. Evaluate 2 != 12, drop this branch.
     |- Try 8 * 6 = 48. Evaluate 48 != 12, drop this branch.
     |- Try 8 / 6 = 1.3. 1.3 is a decimal, drop this branch.
   |- Pick two numbers (6, 18) (numbers left: [144]). Try possible operations.
    |- Try 18 + 6 = 24. Add 24 to the number set. Current number set: [24, 144], target: 12, just two numbers left.
     |- Try 144 + 24 = 168. Evaluate 168 != 12, drop this branch.
     |- Try 144 - 24 = 120. Evaluate 120 != 12, drop this branch.
     |- Try 144 * 24 = 3456. 3456 exceeds the maximum intermediate result, drop this branch.
     |- Try 144 / 24 = 6. Evaluate 6 != 12, drop this branch.
    |- Try 18 - 6 = 12. Add 12 to the number set. Current number set: [12, 144], target: 12, just two numbers left.
     |- Try 144 + 12 = 156. Evaluate 156 != 12, drop this branch.
     |- Try 144 - 12 = 132. Evaluate 132 != 12, drop this branch.
     |- Try 144 * 12 = 1728. Evaluate 1728 != 12, drop this branch.
     |- Try 144 / 12 = 12. Evaluate 12 == 12, target found!

Now we have found the target, let's trace back the solution:
Final step: 144 / 12 = 12
The step before: 18 - 6 = 12
The first step: 16 * 9 = 144

Output the solution in the required format:
<Solution>
16 * 9 = 144
18 - 6 = 12
144 / 12 = 12
</Solution>

[Problem]
Now, solve the following problem. Note that:
- Please carefully read the approach and examples provided above, and follow them to solve the problem.
- Please ALWAYS include your search procedure (after # Search Procedure). The search procedure should follow the format of the examples provided above.
- Please mark your answer with <Solution> and </Solution> tags. The solution should be a sequence of three equations exactly following the format of the examples above, with no additional text in between.

Numbers: [39, 32, 7, 27]
Target: 41

# Search Procedure
Initial number set: [39, 32, 7, 27], target: 41. Options for choosing two numbers: [(39, 32), (39, 7), (39, 27), (32, 7), (32, 27), (7, 27)].
 |- Pick two numbers (39, 32) (numbers left: [7, 27]). Try possible operations.
  |- Try 39 + 32 = 71. Add 71 to the number set. Current number set: [71, 7, 27], target: 41. Options for choosing two numbers: [(71, 7), (71, 27), (7, 27)].
   |- Pick two numbers (71, 7) (numbers left: [27]). Try possible operations.
    |- Try 71 + 7 = 78. Add 78 to the number set. Current number set: [78, 27], target: 41, just two numbers left.
     |- Try 78 + 27 = 105. Evaluate 105 != 41, drop this branch.
     |- Try 78 - 27 = 51. Evaluate 51 != 41, drop this branch.
     |- Try 78 * 27 = 2106. 2106 exceeds the maximum intermediate result, drop this branch.
     |- Try 78 / 27 = 2.9. 2.9 is a decimal, drop this branch.
    |- Try 71 - 7 = 64. Add 64 to the number set. Current number set: [64, 27], target: 41, just two numbers left.
     |- Try 64 + 27 = 91. Evaluate 91 != 41, drop this branch.
     |- Try 64 - 27 = 37. Evaluate 37 != 41, drop this branch.
     |- Try 64 * 27 = 1728. Evaluate 1728 != 41, drop this branch.
     |- Try 64 / 27 = 2.4. 2.4 is a decimal, drop this branch.
    |- Try 71 * 7 = 497. Add 497 to the number set. Current number set: [497, 27], target: 41, just two numbers left.
     |- Try 497 + 27 = 524. Evaluate 524 != 41, drop this branch.
     |- Try 497 - 27 = 470. Evaluate 470 != 41, drop this branch.
     |- Try 497 * 27 = 13419. 13419 exceeds the maximum intermediate result, drop this branch.
     |- Try 497 / 27 = 18.4. 18.4 is a decimal, drop this branch.
    |- Try 71 / 7 = 10.1. 10.1 is a decimal, drop this branch.
   |- Pick two numbers (71, 27) (numbers left: [7]). Try possible operations.
    |- Try 71 + 27 = 98. Add 98 to the number set. Current number set: [98, 7], target: 41, just two numbers left.
     |- Try 98 + 7 = 105. Evaluate 105 != 41, drop this branch.
     |- Try 98 - 7 = 91. Evaluate 91 != 41, drop this branch.
     |- Try 98 * 7 = 686. Evaluate 686 != 41, drop this branch.
     |- Try 98 / 7 = 14. Evaluate 14 != 41, drop this branch.
    |- Try 71 - 27 = 44. Add 44 to the number set. Current number set: [44, 7], target: 41, just two numbers left.
     |- Try 44 + 7 = 51. Evaluate 51 != 41, drop this branch.
     |- Try 44 - 7 = 37. Evaluate 37 != 41, drop this branch.
     |- Try 44 * 7 = 308. Evaluate 308 != 41, drop this branch.
     |- Try 44 / 7 = 6.3. 6.3 is a decimal, drop this branch.
    |- Try 71 * 27 = 1917. Add 1917 to the number set. Current number set: [1917, 7], target: 41, just two numbers left.
     |- Try 1917 + 7 = 1924. Evaluate 1924 != 41, drop this branch.
     |- Try 1917 - 7 = 1910. Evaluate 1910 != 41, drop this branch.
     |- Try 1917 * 7 = 13419. 13419 exceeds the maximum intermediate result, drop this branch.
     |- Try 1917 / 7 = 273.9. 273.9 is a decimal, drop this branch.
    |- Try 71 / 27 = 2.6. 2.6 is a decimal, drop this branch.
   |- Pick two numbers (7, 27) (numbers left: [71]). Try possible operations.
    |- Try 27 + 7 = 34. Add 34 to the number set. Current number set: [34, 71], target: 41, just two numbers left.
     |- Try 71 + 34 = 105. Evaluate 105 != 41, drop this branch.
     |- Try 71 - 34 = 37. Evaluate 37 != 41, drop this branch.
     |- Try 71 * 34 = 2414. 2414 exceeds the maximum intermediate result, drop this branch.
     |- Try 71 / 34 = 2.1. 2.1 is a decimal, drop this branch.
    |- Try 27 - 7 = 20. Add 20 to the number set. Current number set: [20, 71], target: 41, just two numbers left.
     |- Try 71 + 20 = 91. Evaluate 91 != 41, drop this branch.
     |- Try 71 - 20 = 51. Evaluate 51 != 41, drop this branch.
     |- Try 71 * 20 = 1420. Evaluate 1420 != 41, drop this branch.
     |- Try 71 / 20 = 3.5. 3.5 is a decimal, drop this branch.
    |- Try 27 * 7 = 189. Add 189 to the number set. Current number set: [189, 71], target: 41, just two numbers left.
     |- Try 189 + 71 = 260. Evaluate 260 != 41, drop this branch.
     |- Try 189 - 71 = 118. Evaluate 118 != 41, drop this branch.
     |- Try 189 * 71 = 13419. 13419 exceeds the maximum intermediate result, drop this branch.
     |- Try 189 / 71 = 2.7. 2.7 is a decimal, drop this branch.
    |- Try 27 / 7 = 3.9. 3.9 is a decimal, drop this branch.
  |- Try 39 - 32 = 7. Add 7 to the number set. Current number set: [7, 7, 27], target: 41. Options for choosing two numbers: [(7, 7), (7, 27), (7, 27)].
   |- Pick two numbers (7, 7) (numbers left: [27]). Try possible operations.
    |- Try 7 + 7 = 14. Add 14 to the number set. Current number set: [14, 27], target: 41, just two numbers left.
     |- Try 27 + 14 = 41. Evaluate 41 == 41, target found!

Now we have found the target, let's trace back the solution:
Final step: 27 + 14 = 41
The step before: 7 + 7 = 14
The first step: 39 - 32 = 7

Output the solution in the required format:
<Solution>
39 - 32 = 7
7 + 7 = 14
27 + 14 = 41
</Solution>

Solution:
39 - 32 = 7
7 + 7 = 14
27 + 14 = 41