# Ferris Wheel

Some children want to go to a Ferris wheel, and your task is to find a gondola for each child.

Each gondola may have one or two children in it, and in addition, the total weight in a gondola may not exceed **x**. You know the weight of every child.

What is the minimum number of gondolas needed for the children?

Input

The first input line contains two integers N and x: the number of children and the maximum allowed weight.

The next line contains **n** integers p1,p2,…,pnp_1,p_2,p_np1,p2,…,pn: the weight of each child.

# Output

Print one integer: the minimum number of gondolas.

# Constraints

1≤n≤2⋅1051

1≤x≤1091

1≤pi≤x1

# Example

Input:

```
4 10
7 2 3 9
```

Output:

```
3
```

To solve this problem, we need to find the maximum number of pairs having a sum less than equal to **x** and that will give us our answer.

Let's see how we can do this

```
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,x;
cin >> n >> x;
vector<int>p(n);
for(int i=0;i<n;i++)cin >> p[i];
sort(p.begin(), p.end());
int i = 0, j = n-1;
while(i <= j){
if(i == j){
if(v[i] <= x){
ans++;
i++;
j--;
}else if(v[i] + v[j] > x)ans++, j--;
else if(v[i] + v[j] <= x)ans++, j--, i++;
}
}
cout << ans;
}
```

So, in this fashion we can solve this problem and that's all for this blog ,will seee you in the next one.