<p>You are given an integer array <code>target</code> and an integer <code>n</code>.</p> <p>You have an empty stack with the two following operations:</p> <ul> <li><strong><code>"Push"</code></strong>: pushes an integer to the top of the stack.</li> <li><strong><code>"Pop"</code></strong>: removes the integer on the top of the stack.</li> </ul> <p>You also have a stream of the integers in the range <code>[1, n]</code>.</p> <p>Use the two stack operations to make the numbers in the stack (from the bottom to the top) equal to <code>target</code>. You should follow the following rules:</p> <ul> <li>If the stream of the integers is not empty, pick the next integer from the stream and push it to the top of the stack.</li> <li>If the stack is not empty, pop the integer at the top of the stack.</li> <li>If, at any moment, the elements in the stack (from the bottom to the top) are equal to <code>target</code>, do not read new integers from the stream and do not do more operations on the stack.</li> </ul> <p>Return <em>the stack operations needed to build </em><code>target</code> following the mentioned rules. If there are multiple valid answers, return <strong>any of them</strong>.</p> <p> </p> <p><strong class="example">Example 1:</strong></p> <pre> <strong>Input:</strong> target = [1,3], n = 3 <strong>Output:</strong> ["Push","Push","Pop","Push"] <strong>Explanation:</strong> Initially the stack s is empty. The last element is the top of the stack. Read 1 from the stream and push it to the stack. s = [1]. Read 2 from the stream and push it to the stack. s = [1,2]. Pop the integer on the top of the stack. s = [1]. Read 3 from the stream and push it to the stack. s = [1,3]. </pre> <p><strong class="example">Example 2:</strong></p> <pre> <strong>Input:</strong> target = [1,2,3], n = 3 <strong>Output:</strong> ["Push","Push","Push"] <strong>Explanation:</strong> Initially the stack s is empty. The last element is the top of the stack. Read 1 from the stream and push it to the stack. s = [1]. Read 2 from the stream and push it to the stack. s = [1,2]. Read 3 from the stream and push it to the stack. s = [1,2,3]. </pre> <p><strong class="example">Example 3:</strong></p> <pre> <strong>Input:</strong> target = [1,2], n = 4 <strong>Output:</strong> ["Push","Push"] <strong>Explanation:</strong> Initially the stack s is empty. The last element is the top of the stack. Read 1 from the stream and push it to the stack. s = [1]. Read 2 from the stream and push it to the stack. s = [1,2]. Since the stack (from the bottom to the top) is equal to target, we stop the stack operations. The answers that read integer 3 from the stream are not accepted. </pre> <p> </p> <p><strong>Constraints:</strong></p> <ul> <li><code>1 <= target.length <= 100</code></li> <li><code>1 <= n <= 100</code></li> <li><code>1 <= target[i] <= n</code></li> <li><code>target</code> is strictly increasing.</li> </ul>