There are some spherical balloons taped onto a flat wall that represents the XY-plane. The balloons are represented as a 2D integer array `points`

where `points[i] = [x`

denotes a balloon whose _{start}, x_{end}]**horizontal diameter** stretches between `x`

and _{start}`x`

. You do not know the exact y-coordinates of the balloons._{end}

Arrows can be shot up **directly vertically** (in the positive y-direction) from different points along the x-axis. A balloon with `x`

and _{start}`x`

is _{end}**burst** by an arrow shot at `x`

if `x`

. There is _{start} <= x <= x_{end}**no limit** to the number of arrows that can be shot. A shot arrow keeps traveling up infinitely, bursting any balloons in its path.

Given the array `points`

, return *the minimum number of arrows that must be shot to burst all balloons*.

**Example 1:**

Input:points = [[10,16],[2,8],[1,6],[7,12]]Output:2Explanation:The balloons can be burst by 2 arrows: - Shoot an arrow at x = 6, bursting the balloons [2,8] and [1,6]. - Shoot an arrow at x = 11, bursting the balloons [10,16] and [7,12].

**Example 2:**

Input:points = [[1,2],[3,4],[5,6],[7,8]]Output:4Explanation:One arrow needs to be shot for each balloon for a total of 4 arrows.

**Example 3:**

Input:points = [[1,2],[2,3],[3,4],[4,5]]Output:2Explanation:The balloons can be burst by 2 arrows: - Shoot an arrow at x = 2, bursting the balloons [1,2] and [2,3]. - Shoot an arrow at x = 4, bursting the balloons [3,4] and [4,5].

**Constraints:**

`1 <= points.length <= 10`

^{5}`points[i].length == 2`

`-2`

^{31}<= x_{start}< x_{end}<= 2^{31}- 1

` ````
```class Solution {
static bool comp(vector &fp, vector &sp)
{
if(fp[1]>& points) {
sort(points.begin(),points.end(),comp);
int n=points.size();
int arrow=points[0][1];
int count=1;
for(int i=1; iarrow)
{
arrow=points[i][1];
count++;
}
}
return count;
}
};

Office:- 660, Sector 14A, Vasundhara, Ghaziabad, Uttar Pradesh - 201012, India