Help me in solving TRISWP problem

My issue

Why it is giving Run time error-
void solve(){
int n;
cin >> n;
string s;
cin>>s;
unordered_setst;
for(int i=0;i<=n-3;i++){
string t=s;
char c=t[i];
t.erase(i,1);
t.insert(i+2,1,c);
st.insert(t);
}
// for(auto it:st) cout<<it<<endl;
cout<<st.size()<<endl;
}

My code

#include<bits/stdc++.h>
#include <iostream>
using namespace std;

using ll = long long;

#define yes std::cout << "YES" << std::endl
#define no std::cout << "NO" << std::endl

#define for_n(n) for (int i = 0; i < n; ++i)

#define v(n) \
    std::vector<int> v(n); \
    for (int i = 0; i < n; ++i) { \
        std::cin >> v[i]; \
    }


void solve(){
     int n;
     cin >> n;
     string s;
     cin>>s;
     unordered_set<string>st;
     for(int i=0;i<=n-3;i++){
        string t=s;
        char c=t[i];
        t.erase(i,1);
        t.insert(i+2,1,c);
        st.insert(t);
     }
    //  for(auto it:st) cout<<it<<endl;
     cout<<st.size()<<endl;
}


int main() {
   int t;
   cin >> t;
   while(t--){
   	solve();
   }
  
    return 0;
}

Problem Link: Triangular Swaps Practice Coding Problem - CodeChef

facing similar problem with similar approach .
Notify me when you get anything