[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: [47, 22, 22, 16]
Target: 48

# Search Procedure
Initial number set: [47, 22, 22, 16], target: 48. Options for choosing two numbers: [(47, 22), (47, 22), (47, 16), (22, 22), (22, 16), (22, 16)].
 |- Pick two numbers (47, 22) (numbers left: [22, 16]). Try possible operations.
  |- Try 47 + 22 = 69. Add 69 to the number set. Current number set: [69, 22, 16], target: 48. Options for choosing two numbers: [(69, 22), (69, 16), (22, 16)].
   |- Pick two numbers (69, 22) (numbers left: [16]). Try possible operations.
    |- Try 69 + 22 = 91. Add 91 to the number set. Current number set: [91, 16], target: 48, just two numbers left.
     |- Try 91 + 16 = 107. Evaluate 107 != 48, drop this branch.
     |- Try 91 - 16 = 75. Evaluate 75 != 48, drop this branch.
     |- Try 91 * 16 = 1456. Evaluate 1456 != 48, drop this branch.
     |- Try 91 / 16 = 5.7. 5.7 is a decimal, drop this branch.
    |- Try 69 - 22 = 47. Add 47 to the number set. Current number set: [47, 16], target: 48, just two numbers left.
     |- Try 47 + 16 = 63. Evaluate 63 != 48, drop this branch.
     |- Try 47 - 16 = 31. Evaluate 31 != 48, drop this branch.
     |- Try 47 * 16 = 752. Evaluate 752 != 48, drop this branch.
     |- Try 47 / 16 = 2.9. 2.9 is a decimal, drop this branch.
    |- Try 69 * 22 = 1518. Add 1518 to the number set. Current number set: [1518, 16], target: 48, just two numbers left.
     |- Try 1518 + 16 = 1534. Evaluate 1534 != 48, drop this branch.
     |- Try 1518 - 16 = 1502. Evaluate 1502 != 48, drop this branch.
     |- Try 1518 * 16 = 24288. 24288 exceeds the maximum intermediate result, drop this branch.
     |- Try 1518 / 16 = 94.9. 94.9 is a decimal, drop this branch.
    |- Try 69 / 22 = 3.1. 3.1 is a decimal, drop this branch.
   |- Pick two numbers (69, 16) (numbers left: [22]). Try possible operations.
    |- Try 69 + 16 = 85. Add 85 to the number set. Current number set: [85, 22], target: 48, just two numbers left.
     |- Try 85 + 22 = 107. Evaluate 107 != 48, drop this branch.
     |- Try 85 - 22 = 63. Evaluate 63 != 48, drop this branch.
     |- Try 85 * 22 = 1870. Evaluate 1870 != 48, drop this branch.
     |- Try 85 / 22 = 3.9. 3.9 is a decimal, drop this branch.
    |- Try 69 - 16 = 53. Add 53 to the number set. Current number set: [53, 22], target: 48, just two numbers left.
     |- Try 53 + 22 = 75. Evaluate 75 != 48, drop this branch.
     |- Try 53 - 22 = 31. Evaluate 31 != 48, drop this branch.
     |- Try 53 * 22 = 1166. Evaluate 1166 != 48, drop this branch.
     |- Try 53 / 22 = 2.4. 2.4 is a decimal, drop this branch.
    |- Try 69 * 16 = 1104. Add 1104 to the number set. Current number set: [1104, 22], target: 48, just two numbers left.
     |- Try 1104 + 22 = 1126. Evaluate 1126 != 48, drop this branch.
     |- Try 1104 - 22 = 1082. Evaluate 1082 != 48, drop this branch.
     |- Try 1104 * 22 = 24288. 24288 exceeds the maximum intermediate result, drop this branch.
     |- Try 1104 / 22 = 50.2. 50.2 is a decimal, drop this branch.
    |- Try 69 / 16 = 4.3. 4.3 is a decimal, drop this branch.
   |- Pick two numbers (22, 16) (numbers left: [69]). Try possible operations.
    |- Try 22 + 16 = 38. Add 38 to the number set. Current number set: [38, 69], target: 48, just two numbers left.
     |- Try 69 + 38 = 107. Evaluate 107 != 48, drop this branch.
     |- Try 69 - 38 = 31. Evaluate 31 != 48, drop this branch.
     |- Try 69 * 38 = 2622. 2622 exceeds the maximum intermediate result, drop this branch.
     |- Try 69 / 38 = 1.8. 1.8 is a decimal, drop this branch.
    |- Try 22 - 16 = 6. Add 6 to the number set. Current number set: [6, 69], target: 48, just two numbers left.
     |- Try 69 + 6 = 75. Evaluate 75 != 48, drop this branch.
     |- Try 69 - 6 = 63. Evaluate 63 != 48, drop this branch.
     |- Try 69 * 6 = 414. Evaluate 414 != 48, drop this branch.
     |- Try 69 / 6 = 11.5. 11.5 is a decimal, drop this branch.
    |- Try 22 * 16 = 352. Add 352 to the number set. Current number set: [352, 69], target: 48, just two numbers left.
     |- Try 352 + 69 = 421. Evaluate 421 != 48, drop this branch.
     |- Try 352 - 69 = 283. Evaluate 283 != 48, drop this branch.
     |- Try 352 * 69 = 24288. 24288 exceeds the maximum intermediate result, drop this branch.
     |- Try 352 / 69 = 5.1. 5.1 is a decimal, drop this branch.
    |- Try 22 / 16 = 1.4. 1.4 is a decimal, drop this branch.
  |- Try 47 - 22 = 25. Add 25 to the number set. Current number set: [25, 22, 16], target: 48. Options for choosing two numbers: [(25, 22), (25, 16), (22, 16)].
   |- Pick two numbers (25, 22) (numbers left: [16]). Try possible operations.
    |- Try 25 + 22 = 47. Add 47 to the number set. Current number set: [47, 16], target: 48, just two numbers left.
     |- Try 47 + 16 = 63. Evaluate 63 != 48, drop this branch.
     |- Try 47 - 16 = 31. Evaluate 31 != 48, drop this branch.
     |- Try 47 * 16 = 752. Evaluate 752 != 48, drop this branch.
     |- Try 47 / 16 = 2.9. 2.9 is a decimal, drop this branch.
    |- Try 25 - 22 = 3. Add 3 to the number set. Current number set: [3, 16], target: 48, just two numbers left.
     |- Try 16 + 3 = 19. Evaluate 19 != 48, drop this branch.
     |- Try 16 - 3 = 13. Evaluate 13 != 48, drop this branch.
     |- Try 16 * 3 = 48. Evaluate 48 == 48, target found!

Now we have found the target, let's trace back the solution:
Final step: 16 * 3 = 48
The step before: 25 - 22 = 3
The first step: 47 - 22 = 25

Output the solution in the required format:
<Solution>
47 - 22 = 25
25 - 22 = 3
16 * 3 = 48
</Solution>

Solution:
47 - 22 = 25
25 - 22 = 3
16 * 3 = 48


[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: [31, 5, 22, 9]
Target: 39

# Search Procedure
Initial number set: [31, 5, 22, 9], target: 39. Options for choosing two numbers: [(31, 5), (31, 22), (31, 9), (5, 22), (5, 9), (22, 9)].
 |- Pick two numbers (31, 5) (numbers left: [22, 9]). Try possible operations.
  |- Try 31 + 5 = 36. Add 36 to the number set. Current number set: [36, 22, 9], target: 39. Options for choosing two numbers: [(36, 22), (36, 9), (22, 9)].
   |- Pick two numbers (36, 22) (numbers left: [9]). Try possible operations.
    |- Try 36 + 22 = 58. Add 58 to the number set. Current number set: [58, 9], target: 39, just two numbers left.
     |- Try 58 + 9 = 67. Evaluate 67 != 39, drop this branch.
     |- Try 58 - 9 = 49. Evaluate 49 != 39, drop this branch.
     |- Try 58 * 9 = 522. Evaluate 522 != 39, drop this branch.
     |- Try 58 / 9 = 6.4. 6.4 is a decimal, drop this branch.
    |- Try 36 - 22 = 14. Add 14 to the number set. Current number set: [14, 9], target: 39, just two numbers left.
     |- Try 14 + 9 = 23. Evaluate 23 != 39, drop this branch.
     |- Try 14 - 9 = 5. Evaluate 5 != 39, drop this branch.
     |- Try 14 * 9 = 126. Evaluate 126 != 39, drop this branch.
     |- Try 14 / 9 = 1.6. 1.6 is a decimal, drop this branch.
    |- Try 36 * 22 = 792. Add 792 to the number set. Current number set: [792, 9], target: 39, just two numbers left.
     |- Try 792 + 9 = 801. Evaluate 801 != 39, drop this branch.
     |- Try 792 - 9 = 783. Evaluate 783 != 39, drop this branch.
     |- Try 792 * 9 = 7128. 7128 exceeds the maximum intermediate result, drop this branch.
     |- Try 792 / 9 = 88. Evaluate 88 != 39, drop this branch.
    |- Try 36 / 22 = 1.6. 1.6 is a decimal, drop this branch.
   |- Pick two numbers (36, 9) (numbers left: [22]). Try possible operations.
    |- Try 36 + 9 = 45. Add 45 to the number set. Current number set: [45, 22], target: 39, just two numbers left.
     |- Try 45 + 22 = 67. Evaluate 67 != 39, drop this branch.
     |- Try 45 - 22 = 23. Evaluate 23 != 39, drop this branch.
     |- Try 45 * 22 = 990. Evaluate 990 != 39, drop this branch.
     |- Try 45 / 22 = 2.0. 2.0 is a decimal, drop this branch.
    |- Try 36 - 9 = 27. Add 27 to the number set. Current number set: [27, 22], target: 39, just two numbers left.
     |- Try 27 + 22 = 49. Evaluate 49 != 39, drop this branch.
     |- Try 27 - 22 = 5. Evaluate 5 != 39, drop this branch.
     |- Try 27 * 22 = 594. Evaluate 594 != 39, drop this branch.
     |- Try 27 / 22 = 1.2. 1.2 is a decimal, drop this branch.
    |- Try 36 * 9 = 324. Add 324 to the number set. Current number set: [324, 22], target: 39, just two numbers left.
     |- Try 324 + 22 = 346. Evaluate 346 != 39, drop this branch.
     |- Try 324 - 22 = 302. Evaluate 302 != 39, drop this branch.
     |- Try 324 * 22 = 7128. 7128 exceeds the maximum intermediate result, drop this branch.
     |- Try 324 / 22 = 14.7. 14.7 is a decimal, drop this branch.
    |- Try 36 / 9 = 4. Add 4 to the number set. Current number set: [4, 22], target: 39, just two numbers left.
     |- Try 22 + 4 = 26. Evaluate 26 != 39, drop this branch.
     |- Try 22 - 4 = 18. Evaluate 18 != 39, drop this branch.
     |- Try 22 * 4 = 88. Evaluate 88 != 39, drop this branch.
     |- Try 22 / 4 = 5.5. 5.5 is a decimal, drop this branch.
   |- Pick two numbers (22, 9) (numbers left: [36]). Try possible operations.
    |- Try 22 + 9 = 31. Add 31 to the number set. Current number set: [31, 36], target: 39, just two numbers left.
     |- Try 36 + 31 = 67. Evaluate 67 != 39, drop this branch.
     |- Try 36 - 31 = 5. Evaluate 5 != 39, drop this branch.
     |- Try 36 * 31 = 1116. Evaluate 1116 != 39, drop this branch.
     |- Try 36 / 31 = 1.2. 1.2 is a decimal, drop this branch.
    |- Try 22 - 9 = 13. Add 13 to the number set. Current number set: [13, 36], target: 39, just two numbers left.
     |- Try 36 + 13 = 49. Evaluate 49 != 39, drop this branch.
     |- Try 36 - 13 = 23. Evaluate 23 != 39, drop this branch.
     |- Try 36 * 13 = 468. Evaluate 468 != 39, drop this branch.
     |- Try 36 / 13 = 2.8. 2.8 is a decimal, drop this branch.
    |- Try 22 * 9 = 198. Add 198 to the number set. Current number set: [198, 36], target: 39, just two numbers left.
     |- Try 198 + 36 = 234. Evaluate 234 != 39, drop this branch.
     |- Try 198 - 36 = 162. Evaluate 162 != 39, drop this branch.
     |- Try 198 * 36 = 7128. 7128 exceeds the maximum intermediate result, drop this branch.
     |- Try 198 / 36 = 5.5. 5.5 is a decimal, drop this branch.
    |- Try 22 / 9 = 2.4. 2.4 is a decimal, drop this branch.
  |- Try 31 - 5 = 26. Add 26 to the number set. Current number set: [26, 22, 9], target: 39. Options for choosing two numbers: [(26, 22), (26, 9), (22, 9)].
   |- Pick two numbers (26, 22) (numbers left: [9]). Try possible operations.
    |- Try 26 + 22 = 48. Add 48 to the number set. Current number set: [48, 9], target: 39, just two numbers left.
     |- Try 48 + 9 = 57. Evaluate 57 != 39, drop this branch.
     |- Try 48 - 9 = 39. Evaluate 39 == 39, target found!

Now we have found the target, let's trace back the solution:
Final step: 48 - 9 = 39
The step before: 26 + 22 = 48
The first step: 31 - 5 = 26

Output the solution in the required format:
<Solution>
31 - 5 = 26
26 + 22 = 48
48 - 9 = 39
</Solution>

Solution:
31 - 5 = 26
26 + 22 = 48
48 - 9 = 39


[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: [49, 47, 23, 33]
Target: 12

# Search Procedure
Initial number set: [49, 47, 23, 33], target: 12. Options for choosing two numbers: [(49, 47), (49, 23), (49, 33), (47, 23), (47, 33), (23, 33)].
 |- Pick two numbers (49, 47) (numbers left: [23, 33]). Try possible operations.
  |- Try 49 + 47 = 96. Add 96 to the number set. Current number set: [96, 23, 33], target: 12. Options for choosing two numbers: [(96, 23), (96, 33), (23, 33)].
   |- Pick two numbers (96, 23) (numbers left: [33]). Try possible operations.
    |- Try 96 + 23 = 119. Add 119 to the number set. Current number set: [119, 33], target: 12, just two numbers left.
     |- Try 119 + 33 = 152. Evaluate 152 != 12, drop this branch.
     |- Try 119 - 33 = 86. Evaluate 86 != 12, drop this branch.
     |- Try 119 * 33 = 3927. 3927 exceeds the maximum intermediate result, drop this branch.
     |- Try 119 / 33 = 3.6. 3.6 is a decimal, drop this branch.
    |- Try 96 - 23 = 73. Add 73 to the number set. Current number set: [73, 33], target: 12, just two numbers left.
     |- Try 73 + 33 = 106. Evaluate 106 != 12, drop this branch.
     |- Try 73 - 33 = 40. Evaluate 40 != 12, drop this branch.
     |- Try 73 * 33 = 2409. 2409 exceeds the maximum intermediate result, drop this branch.
     |- Try 73 / 33 = 2.2. 2.2 is a decimal, drop this branch.
    |- Try 96 * 23 = 2208. 2208 exceeds the maximum intermediate result, drop this branch.
    |- Try 96 / 23 = 4.2. 4.2 is a decimal, drop this branch.
   |- Pick two numbers (96, 33) (numbers left: [23]). Try possible operations.
    |- Try 96 + 33 = 129. Add 129 to the number set. Current number set: [129, 23], target: 12, just two numbers left.
     |- Try 129 + 23 = 152. Evaluate 152 != 12, drop this branch.
     |- Try 129 - 23 = 106. Evaluate 106 != 12, drop this branch.
     |- Try 129 * 23 = 2967. 2967 exceeds the maximum intermediate result, drop this branch.
     |- Try 129 / 23 = 5.6. 5.6 is a decimal, drop this branch.
    |- Try 96 - 33 = 63. Add 63 to the number set. Current number set: [63, 23], target: 12, just two numbers left.
     |- Try 63 + 23 = 86. Evaluate 86 != 12, drop this branch.
     |- Try 63 - 23 = 40. Evaluate 40 != 12, drop this branch.
     |- Try 63 * 23 = 1449. Evaluate 1449 != 12, drop this branch.
     |- Try 63 / 23 = 2.7. 2.7 is a decimal, drop this branch.
    |- Try 96 * 33 = 3168. 3168 exceeds the maximum intermediate result, drop this branch.
    |- Try 96 / 33 = 2.9. 2.9 is a decimal, drop this branch.
   |- Pick two numbers (23, 33) (numbers left: [96]). Try possible operations.
    |- Try 33 + 23 = 56. Add 56 to the number set. Current number set: [56, 96], target: 12, just two numbers left.
     |- Try 96 + 56 = 152. Evaluate 152 != 12, drop this branch.
     |- Try 96 - 56 = 40. Evaluate 40 != 12, drop this branch.
     |- Try 96 * 56 = 5376. 5376 exceeds the maximum intermediate result, drop this branch.
     |- Try 96 / 56 = 1.7. 1.7 is a decimal, drop this branch.
    |- Try 33 - 23 = 10. Add 10 to the number set. Current number set: [10, 96], target: 12, just two numbers left.
     |- Try 96 + 10 = 106. Evaluate 106 != 12, drop this branch.
     |- Try 96 - 10 = 86. Evaluate 86 != 12, drop this branch.
     |- Try 96 * 10 = 960. Evaluate 960 != 12, drop this branch.
     |- Try 96 / 10 = 9.6. 9.6 is a decimal, drop this branch.
    |- Try 33 * 23 = 759. Add 759 to the number set. Current number set: [759, 96], target: 12, just two numbers left.
     |- Try 759 + 96 = 855. Evaluate 855 != 12, drop this branch.
     |- Try 759 - 96 = 663. Evaluate 663 != 12, drop this branch.
     |- Try 759 * 96 = 72864. 72864 exceeds the maximum intermediate result, drop this branch.
     |- Try 759 / 96 = 7.9. 7.9 is a decimal, drop this branch.
    |- Try 33 / 23 = 1.4. 1.4 is a decimal, drop this branch.
  |- Try 49 - 47 = 2. Add 2 to the number set. Current number set: [2, 23, 33], target: 12. Options for choosing two numbers: [(2, 23), (2, 33), (23, 33)].
   |- Pick two numbers (2, 23) (numbers left: [33]). Try possible operations.
    |- Try 23 + 2 = 25. Add 25 to the number set. Current number set: [25, 33], target: 12, just two numbers left.
     |- Try 33 + 25 = 58. Evaluate 58 != 12, drop this branch.
     |- Try 33 - 25 = 8. Evaluate 8 != 12, drop this branch.
     |- Try 33 * 25 = 825. Evaluate 825 != 12, drop this branch.
     |- Try 33 / 25 = 1.3. 1.3 is a decimal, drop this branch.
    |- Try 23 - 2 = 21. Add 21 to the number set. Current number set: [21, 33], target: 12, just two numbers left.
     |- Try 33 + 21 = 54. Evaluate 54 != 12, drop this branch.
     |- Try 33 - 21 = 12. Evaluate 12 == 12, target found!

Now we have found the target, let's trace back the solution:
Final step: 33 - 21 = 12
The step before: 23 - 2 = 21
The first step: 49 - 47 = 2

Output the solution in the required format:
<Solution>
49 - 47 = 2
23 - 2 = 21
33 - 21 = 12
</Solution>

Solution:
49 - 47 = 2
23 - 2 = 21
33 - 21 = 12


[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: [7, 41, 11, 6]
Target: 18

# Search Procedure
Initial number set: [7, 41, 11, 6], target: 18. Options for choosing two numbers: [(7, 41), (7, 11), (7, 6), (41, 11), (41, 6), (11, 6)].
 |- Pick two numbers (7, 41) (numbers left: [11, 6]). Try possible operations.
  |- Try 41 + 7 = 48. Add 48 to the number set. Current number set: [48, 11, 6], target: 18. Options for choosing two numbers: [(48, 11), (48, 6), (11, 6)].
   |- Pick two numbers (48, 11) (numbers left: [6]). Try possible operations.
    |- Try 48 + 11 = 59. Add 59 to the number set. Current number set: [59, 6], target: 18, just two numbers left.
     |- Try 59 + 6 = 65. Evaluate 65 != 18, drop this branch.
     |- Try 59 - 6 = 53. Evaluate 53 != 18, drop this branch.
     |- Try 59 * 6 = 354. Evaluate 354 != 18, drop this branch.
     |- Try 59 / 6 = 9.8. 9.8 is a decimal, drop this branch.
    |- Try 48 - 11 = 37. Add 37 to the number set. Current number set: [37, 6], target: 18, just two numbers left.
     |- Try 37 + 6 = 43. Evaluate 43 != 18, drop this branch.
     |- Try 37 - 6 = 31. Evaluate 31 != 18, drop this branch.
     |- Try 37 * 6 = 222. Evaluate 222 != 18, drop this branch.
     |- Try 37 / 6 = 6.2. 6.2 is a decimal, drop this branch.
    |- Try 48 * 11 = 528. Add 528 to the number set. Current number set: [528, 6], target: 18, just two numbers left.
     |- Try 528 + 6 = 534. Evaluate 534 != 18, drop this branch.
     |- Try 528 - 6 = 522. Evaluate 522 != 18, drop this branch.
     |- Try 528 * 6 = 3168. 3168 exceeds the maximum intermediate result, drop this branch.
     |- Try 528 / 6 = 88. Evaluate 88 != 18, drop this branch.
    |- Try 48 / 11 = 4.4. 4.4 is a decimal, drop this branch.
   |- Pick two numbers (48, 6) (numbers left: [11]). Try possible operations.
    |- Try 48 + 6 = 54. Add 54 to the number set. Current number set: [54, 11], target: 18, just two numbers left.
     |- Try 54 + 11 = 65. Evaluate 65 != 18, drop this branch.
     |- Try 54 - 11 = 43. Evaluate 43 != 18, drop this branch.
     |- Try 54 * 11 = 594. Evaluate 594 != 18, drop this branch.
     |- Try 54 / 11 = 4.9. 4.9 is a decimal, drop this branch.
    |- Try 48 - 6 = 42. Add 42 to the number set. Current number set: [42, 11], target: 18, just two numbers left.
     |- Try 42 + 11 = 53. Evaluate 53 != 18, drop this branch.
     |- Try 42 - 11 = 31. Evaluate 31 != 18, drop this branch.
     |- Try 42 * 11 = 462. Evaluate 462 != 18, drop this branch.
     |- Try 42 / 11 = 3.8. 3.8 is a decimal, drop this branch.
    |- Try 48 * 6 = 288. Add 288 to the number set. Current number set: [288, 11], target: 18, just two numbers left.
     |- Try 288 + 11 = 299. Evaluate 299 != 18, drop this branch.
     |- Try 288 - 11 = 277. Evaluate 277 != 18, drop this branch.
     |- Try 288 * 11 = 3168. 3168 exceeds the maximum intermediate result, drop this branch.
     |- Try 288 / 11 = 26.2. 26.2 is a decimal, drop this branch.
    |- Try 48 / 6 = 8. Add 8 to the number set. Current number set: [8, 11], target: 18, just two numbers left.
     |- Try 11 + 8 = 19. Evaluate 19 != 18, drop this branch.
     |- Try 11 - 8 = 3. Evaluate 3 != 18, drop this branch.
     |- Try 11 * 8 = 88. Evaluate 88 != 18, drop this branch.
     |- Try 11 / 8 = 1.4. 1.4 is a decimal, drop this branch.
   |- Pick two numbers (11, 6) (numbers left: [48]). Try possible operations.
    |- Try 11 + 6 = 17. Add 17 to the number set. Current number set: [17, 48], target: 18, just two numbers left.
     |- Try 48 + 17 = 65. Evaluate 65 != 18, drop this branch.
     |- Try 48 - 17 = 31. Evaluate 31 != 18, drop this branch.
     |- Try 48 * 17 = 816. Evaluate 816 != 18, drop this branch.
     |- Try 48 / 17 = 2.8. 2.8 is a decimal, drop this branch.
    |- Try 11 - 6 = 5. Add 5 to the number set. Current number set: [5, 48], target: 18, just two numbers left.
     |- Try 48 + 5 = 53. Evaluate 53 != 18, drop this branch.
     |- Try 48 - 5 = 43. Evaluate 43 != 18, drop this branch.
     |- Try 48 * 5 = 240. Evaluate 240 != 18, drop this branch.
     |- Try 48 / 5 = 9.6. 9.6 is a decimal, drop this branch.
    |- Try 11 * 6 = 66. Add 66 to the number set. Current number set: [66, 48], target: 18, just two numbers left.
     |- Try 66 + 48 = 114. Evaluate 114 != 18, drop this branch.
     |- Try 66 - 48 = 18. Evaluate 18 == 18, target found!

Now we have found the target, let's trace back the solution:
Final step: 66 - 48 = 18
The step before: 11 * 6 = 66
The first step: 41 + 7 = 48

Output the solution in the required format:
<Solution>
41 + 7 = 48
11 * 6 = 66
66 - 48 = 18
</Solution>

Solution:
41 + 7 = 48
11 * 6 = 66
66 - 48 = 18