class Solution {
public:
vector<int> relativeSortArray(vector<int>& arr1, vector<int>& arr2) {
map<int,int>m;
for(auto i:arr1)
m[i]++;
vector<int>res;
vector<int>temp;
for(auto i:arr2)
{
for(int j=0;j<m[i];j++)
{
res.push_back(i);
}
m[i]=0;
}
for(auto it : m)
{
if(it.second!=0)
for(int i=0;i<it.second;i++)
temp.push_back(it.first);
}
sort(temp.begin(),temp.end());
res.insert(res.end(),temp.begin(),temp.end());
return res;
}
};