#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
string key_str;
string secret_str;
cin >> key_str;
cin >> secret_str;
int arr[26] = {0};
int key_len = key_str.size();
vector<char> vec;
vector<char> vec_out;
for(int i = 0; i < key_len; i++){
if(find(vec.begin(),vec.end(),key_str[i]) == vec.end()){
vec.push_back(key_str[i]);
}
}
int vec_length = vec.size();
for(int i = 0; i < vec_length; i++){//统计key中出现了哪些字母
arr[(vec[i] - 'a')]++;
}
for(int i = 0; i < 26; i++){//将没出现过的字母按顺序加入vec
if(arr[i] == 0){
vec.push_back(i+'a');
}
}
int secret_length = secret_str.size();//加密字符串与字母表去对应
for(int i = 0; i < secret_length; i++){
vec_out.push_back(vec[secret_str[i]-'a']);
}
//输出
for(int i = 0; i < vec_out.size(); i++){
cout << vec_out[i];
}
}
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
string key_str;
string secret_str;
cin >> key_str;
cin >> secret_str;
int arr[26] = {0};
int key_len = key_str.size();
vector<char> vec;
vector<char> vec_out;
for(int i = 0; i < key_len; i++){
if(find(vec.begin(),vec.end(),key_str[i]) == vec.end()){
vec.push_back(key_str[i]);
}
}
int vec_length = vec.size();
for(int i = 0; i < vec_length; i++){//统计key中出现了哪些字母
arr[(vec[i] - 'a')]++;
}
for(int i = 0; i < 26; i++){//将没出现过的字母按顺序加入vec
if(arr[i] == 0){
vec.push_back(i+'a');
}
}
int secret_length = secret_str.size();//加密字符串与字母表去对应
for(int i = 0; i < secret_length; i++){
vec_out.push_back(vec[secret_str[i]-'a']);
}
//输出
for(int i = 0; i < vec_out.size(); i++){
cout << vec_out[i];
}
}