'''

```
int findMinArrowShots(vector<pair<int, int>>& points) {
if (points.size() == 0) return 0;
sort(points.begin(), points.end());
pair<int, int> cur = make_pair(INT_MIN, INT_MAX);
int ret = 0;
for (int i = 0; i < points.size(); i++)
{
if (points[i].first <= cur.second)
{
cur = make_pair(points[i].first, min(cur.second, points[i].second));
}else
{
ret++;
cur = points[i];
}
}
return ret + 1;
}
```

'''