#include<iostream>
#include<cmath>
#include<cstdlib>
#include<string>
#include<algorithm>
#include<cctype>
using namespace std;
int main() {
int p1, p2, p3;
char words[101] = { 0 };
char word=0;
cin >> p1 >> p2 >> p3;
cin.getline(words, 101);
for (int i=0;1;i++) {
word = getchar();
if (word == 10) {
break;
}
words[i] = word;
}
cout << words[0];
for (int i = 1;1;i++) {
if (words[i] == 0)
break;
if (words[i] == '-') {
int check = 0;
if (words[i - 1] >= 'a' && words[i - 1] <= 'z' && words[i + 1] >= '0' && words[i + 1] <= '9') {
check = 1;
}
if (words[i - 1] >= '0' && words[i - 1] <= '9' && words[i + 1] >= 'a' && words[i + 1] <= 'z') {
check = 1;
}
if (words[i - 1] >= words[i + 1]||words[i]=='-'&&words[i-1]=='-'||check==1) {
cout << "-";
}
else {
if (p3 == 1) {
if ((words[i - 1] >= 'a' && words[i - 1] <= 'z')) {
if (p1 == 1) {
for (int k = 1; k < words[i + 1] - words[i - 1]; k++) {
for (int j = 0; j < p2; j++) {
cout << char(tolower(words[i - 1] + k));
}
}
}
else if (p1 == 2) {
for (int k = 1; k < words[i + 1] - words[i - 1]; k++) {
for (int j = 0; j < p2; j++) {
cout << char(toupper(words[i - 1] + k));
}
}
}
else if (p1 == 3) {
for (int k = 0; k < words[i + 1] - words[i - 1]; k++) {
for (int j = 0; j < p2; j++) {
cout << "*";
}
}
}
}
else if (words[i - 1] >= '0' && words[i - 1] <= '9') {
if (p1 == 3) {
for (int j = 0; j < p2; j++) {
cout << "*";
}
}
else {
for (int k = 1; k < words[i + 1] - words[i - 1]; k++) {
for (int j = 0; j < p2; j++) {
cout << char(words[i - 1] + k);
}
}
}
}
}
else {
if ((words[i - 1] >= 'a' && words[i - 1] <= 'z')) {
if (p1 == 1) {
for (int k = words[i + 1] - words[i - 1]-1; k >=1; k--) {
for (int j = 0; j < p2; j++) {
cout << char(tolower(words[i - 1] + k));
}
}
}
else if (p1 == 2) {
for (int k = words[i + 1] - words[i - 1]-1; k >= 1; k--) {
for (int j = 0; j < p2; j++) {
cout << char(toupper(words[i - 1] + k));
}
}
}
else if (p1 == 3) {
for (int k = words[i + 1] - words[i - 1]-1; k >= 1; k--) {
for (int j = 0; j < p2; j++) {
cout << "*";
}
}
}
}
else if (words[i - 1] >= '0' && words[i - 1] <= '9') {
if (p1 == 3) {
for (int j = 0; j < p2; j++) {
cout << "*";
}
}
else {
for (int k = words[i + 1] - words[i - 1]-1; k >= 1; k--) {
for (int j = 0; j < p2; j++) {
cout << char(words[i - 1] + k);
}
}
}
}
}
}
}
else {
cout << words[i];
}
}
return 0;
}
连续--的情况考虑到了,-两侧不同时是字母\数字也考虑到了 但是89还是不过 为啥 救救