Here is link of question
I try to solve it but i getting a runtime error please help what is wrong ?
#include<iostream>
#include<algorithm>
#include<vector>
#include<set>
#include<map>
#define ll long long int
using namespace std;
main()
{
ll t;
cin>>t;
ll x=1;
while(t--)
{
ll n,l;
cin>>n>>l;
vector<ll> v;
for(ll i=0;i<l;i++)
{ ll z;
cin>>z;
v.push_back(z);
}
ll p1,p2;
// finding factor of first number because all are multiple of two prime number
for(ll i=3;i<v[0];i++)
{
if(v[0]%i==0)
{
p1=i;
p2=v[0]/i;
break;
}
}
vector<ll> find;
set<ll> s;
//For checking if v[1] is divisible with p1 then swap p1 and p2
if(v[1]%p1==0)
{
ll tp=p2;
p2=p1;
p1=tp;
}
find.push_back(p1);
find.push_back(p2);
s.insert(p1);
s.insert(p2);
//set for getting all distinct prime number
for(ll i=1;i<l;i++)
{
s.insert(v[i]/find[i]);
find.push_back(v[i]/find[i]);
}
map<ll,char> m;
char ch='A';
set<ll>::iterator it;
//map for giving character value to prime number in sequence as in question
for( it=s.begin();it!=s.end();it++)
{
m[*it]=ch++;
}
// finally finding character from original l length list from map as per prime number
string ans;
for(ll i=0;i<find.size();i++)
{
ans+=m[find[i]];
}
// cout<<endl;
cout<<"Case #"<<x<<": "<<ans<<endl;
x++;
}
}