I created code to convert graph representation (A list of edges -> the adjacency list)
How can i fix error?
I have Segmentation fault in line  res[cur.first - 1].insert(cur.second);for input
4 3
3 2
2 1
4 2
My code
#include <bits/stdc++.h>
using namespace std;
pair<int, int> strToSotredPair(const string& s) {
    int a = 0, b = 0;
    int pos = 0;
    while (s[pos] != ' ') {
        a = a * 10 + s[pos] - '0';
        ++pos;
    }
    while (pos < s.size()) {
        b = b * 10 + s[pos] - '0';
        ++pos;
    }
    return {min(a, b), max(a, b)};
}
int main() {
    int n, m;
    string input;
    cin >> n;
    cin >> m;
    vector<set<int>> res(n, set<int>());
    for (int i = 0; i < m; ++i) {
        cin >> input;
        auto cur = strToSotredPair(input);
        res[cur.first - 1].insert(cur.second); // error in this line
    }
    for (int i = 0; i < res.size(); ++i) {
        cout << res[i].size() << ' ';
        for (auto item : res[i]) {
            cout << item << ' ';
        }
        cout << endl;
    }
}
 
    