Wrong answer

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

void subsequence(string input,string output,vector&v)
{
if(input.empty())
{
v.push_back(output);
return;
}

subsequence(input.substr(1),output,v);
subsequence(input.substr(1),output+input[0],v);

}
int main() {
int n;
cin>>n;
vectorv;
string s=“ab”;
subsequence(s," ",v);
sort(v.begin(),v.end());
for(auto i:v)
{
cout<<i<<endl;
}
return 0;
}

it give me the same output give in the base test case still it give wrong answer