Given an integer array `instructions`, you are asked to create a sorted array from the elements in `instructions`. You start with an empty container `nums`. For each element from **left to right** in `instructions`, insert it into `nums`. The **cost** of each insertion is the **minimum** of the following:

*   The number of elements currently in `nums` that are **strictly less than** `instructions[i]`.
*   The number of elements currently in `nums` that are **strictly greater than** `instructions[i]`.

For example, if inserting element `3` into `nums = [1,2,3,5]`, the **cost** of insertion is `min(2, 1)` (elements `1` and `2` are less than `3`, element `5` is greater than `3`) and `nums` will become `[1,2,3,3,5]`.

Return _the **total cost** to insert all elements from_ `instructions` _into_ `nums`. Since the answer may be large, return it **modulo** `109 + 7`

**Example 1:**

**Input:** instructions = \[1,5,6,2\]
**Output:** 1
**Explanation:** Begin with nums = \[\].
Insert 1 with cost min(0, 0) = 0, now nums = \[1\].
Insert 5 with cost min(1, 0) = 0, now nums = \[1,5\].
Insert 6 with cost min(2, 0) = 0, now nums = \[1,5,6\].
Insert 2 with cost min(1, 2) = 1, now nums = \[1,2,5,6\].
The total cost is 0 + 0 + 0 + 1 = 1.

**Example 2:**

**Input:** instructions = \[1,2,3,6,5,4\]
**Output:** 3
**Explanation:** Begin with nums = \[\].
Insert 1 with cost min(0, 0) = 0, now nums = \[1\].
Insert 2 with cost min(1, 0) = 0, now nums = \[1,2\].
Insert 3 with cost min(2, 0) = 0, now nums = \[1,2,3\].
Insert 6 with cost min(3, 0) = 0, now nums = \[1,2,3,6\].
Insert 5 with cost min(3, 1) = 1, now nums = \[1,2,3,5,6\].
Insert 4 with cost min(3, 2) = 2, now nums = \[1,2,3,4,5,6\].
The total cost is 0 + 0 + 0 + 0 + 1 + 2 = 3.

**Example 3:**

**Input:** instructions = \[1,3,3,3,2,4,2,1,2\]
**Output:** 4
**Explanation:** Begin with nums = \[\].
Insert 1 with cost min(0, 0) = 0, now nums = \[1\].
Insert 3 with cost min(1, 0) = 0, now nums = \[1,3\].
Insert 3 with cost min(1, 0) = 0, now nums = \[1,3,3\].
Insert 3 with cost min(1, 0) = 0, now nums = \[1,3,3,3\].
Insert 2 with cost min(1, 3) = 1, now nums = \[1,2,3,3,3\].
Insert 4 with cost min(5, 0) = 0, now nums = \[1,2,3,3,3,4\].
​​​​​​​Insert 2 with cost min(1, 4) = 1, now nums = \[1,2,2,3,3,3,4\].
​​​​​​​Insert 1 with cost min(0, 6) = 0, now nums = \[1,1,2,2,3,3,3,4\].
​​​​​​​Insert 2 with cost min(2, 4) = 2, now nums = \[1,1,2,2,2,3,3,3,4\].
The total cost is 0 + 0 + 0 + 0 + 1 + 0 + 1 + 0 + 2 = 4.

**Constraints:**

*   `1 <= instructions.length <= 105`
*   `1 <= instructions[i] <= 105`

정수 배열 '지침'이 주어지면, '지침'의 요소로 정렬된 배열을 생성하라는 요청을 받습니다. 빈 컨테이너 `nums`로 시작합니다. 지침`의 **왼쪽에서 오른쪽으로** 각 요소에 대해 `nums`에 삽입합니다. 각 삽입의 **비용**은 다음의 **최소값**입니다:

* 현재 `nums`에 있는 요소 중 `instructions[i]`보다 **엄격하게 적은 요소의 수입니다.
* 현재 `nums`에 있는 요소 중 `instructions[i]`보다 **엄격하게 큰 요소의 수입니다.

예를 들어, `nums = [1,2,3,5]`에 요소 `3`을 삽입하는 경우 삽입의 **비용**은 `min(2, 1)`(요소 `1`과 `2`는 `3`보다 작고 요소 `5`는 `3`보다 크므로)이고 `nums`는 `[1,2,3,3,5]`가 됩니다.

'지침'의 모든 요소를 `nums`에 삽입하는 데 드는 **총 비용**을 반환합니다. 답이 클 수 있으므로 **모듈로** `109 + 7`을 반환합니다.

**예제 1:**

**입력:** instructions = \[1,5,6,2\]
**출력:** 1
**설명:** nums = \[\]로 시작합니다.
비용 min(0, 0) = 0으로 1을 삽입하면 이제 nums = \[1\]이 됩니다.
비용 min(1, 0) = 0으로 5를 삽입하여 이제 nums = \[1,5\]가 됩니다.
비용 min(2, 0) = 0인 6을 삽입하면 이제 nums = \[1,5,6\]이 됩니다.
비용 최소(1, 2) = 1로 2를 삽입하면 이제 nums = \[1,2,5,6\] 이 됩니다.
총 비용은 0 + 0 + 0 + 1 = 1입니다.

**예제 2:**

**입력:** 지침 = \[1,2,3,6,5,4\]
**출력:** 3
**설명:** nums = \[\]로 시작합니다.
비용 min(0, 0) = 0으로 1을 삽입하면 이제 nums = \[1\]이 됩니다.
비용 min(1, 0) = 0으로 2를 삽입하면 이제 nums = \[1,2\]가 됩니다.
비용 최소(2, 0) = 0인 3을 삽입하면 이제 nums = \[1,2,3\] 이 됩니다.
비용 min(3, 0) = 0으로 6을 삽입하면 이제 nums = \[1,2,3,6\]이 됩니다.
비용 최소(3, 1) = 1로 5를 삽입하면 이제 nums = \[1,2,3,5,6\]이 됩니다.
비용 min(3, 2) = 2인 4를 삽입하면 이제 nums = \[1,2,3,4,5,6\] 이 됩니다.
총 비용은 0 + 0 + 0 + 0 + 1 + 2 = 3입니다.

**예제 3:**

**입력:** 지침 = \[1,3,3,3,2,4,2,1,2\]
**출력:** 4
**설명:** nums = \[\]로 시작합니다.
비용 min(0, 0) = 0으로 1을 삽입하면 이제 nums = \[1\]이 됩니다.
비용 min(1, 0) = 0으로 3을 삽입하면 이제 nums = \[1,3\]이 됩니다.
비용 min(1, 0) = 0인 3을 삽입하면 이제 nums = \[1,3,3\] 이 됩니다.
비용 min(1, 0) = 0인 3을 삽입하면 이제 nums = \[1,3,3,3\] 이 됩니다.
비용 최소(1, 3) = 1로 2를 삽입하면 이제 nums = \[1,2,3,3,3\]이 됩니다.
비용 min(5, 0) = 0인 4를 삽입하면 이제 nums = \[1,2,3,3,3,4\] 가 됩니다.
비용 최소(1, 4) = 1로 2를 삽입하면 이제 nums = \[1,2,2,3,3,3,3,4\] 가 됩니다.
비용 최소(0, 6) = 0인 1을 삽입하면 이제 nums = \[1,1,2,2,3,3,3,4\] 가 됩니다.
비용 최소(2, 4) = 2로 2를 삽입하면 이제 nums = \[1,1,2,2,2,3,3,3,4\] 가 됩니다.
총 비용은 0 + 0 + 0 + 0 + 1 + 0 + 1 + 0 + 1 + 0 + 2 = 4입니다.

**제약 조건:**

* `1 <= instructions.length <= 105`
* `1 <= instructions[i] <= 105`
