Stack a = new Stack(); a.Push(1); bool done = false; Stack tmp = new Stack(); int n = a.Pop(); while (!done && a.Count > 0) { if (n > a.Peek()) done = true; else tmp.Push(a.Pop()); } a.Push(n); while (tmp.Count > 0) a.Push(tmp.Pop()); a.Push(6); done = false; tmp = new Stack(); n = a.Pop(); while (!done && a.Count > 0) { if (n > a.Peek()) done = true; else tmp.Push(a.Pop()); } a.Push(n); while (tmp.Count > 0) a.Push(tmp.Pop()); a.Push(-5); done = false; tmp = new Stack(); n = a.Pop(); while (!done && a.Count > 0) { if (n > a.Peek()) done = true; else tmp.Push(a.Pop()); } a.Push(n); while (tmp.Count > 0) a.Push(tmp.Pop()); a.Push(10); done = false; tmp = new Stack(); n = a.Pop(); while (!done && a.Count > 0) { if (n > a.Peek()) done = true; else tmp.Push(a.Pop()); } a.Push(n); while (tmp.Count > 0) a.Push(tmp.Pop());