#include <cstdio>
#include <vector>
using namespace std;
int main() {
vector<char>input;
char c = getchar();
while (c != EOF) {
input.push_back(c);
c = getchar();
}
int inputLength = input.size();
bool blockComment = false;
bool lineComment = false;
bool str = false;
for (int i = 0; i < inputLength; ++i) {
if (!lineComment && !blockComment) {
if (input[i] == '\"') {
if (input[i - 1] == '\\') {
putchar('\"');
continue;
} else {
str = !str;
putchar('\"');
continue;
}
}
}
if (!str) {
if (lineComment && input[i] != '\n') {
continue;
} else if (lineComment && input[i] == '\n') {
if (input[i - 1] == '\\') {
continue;
} else {
lineComment = false;
putchar('\n');
continue;
}
}
if (blockComment && input[i] != '*') {
continue;
} else if (blockComment && input[i] == '*' && input[i + 1] == '/') {
blockComment = false;
i++;
continue;
} else if (blockComment && input[i] == '*' && input[i + 1] != '/') {
continue;
}
}
if (input[i] != '/') {
putchar(input[i]);
} else {
if(!str) {
if (input[i + 1] == '*') {
blockComment = true;
i++;
} else if (input[i + 1] == '/') {
lineComment = true;
i++;
} else {
putchar(input[i]);
}
} else {
putchar(input[i]);
}
}
}
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPHZlY3Rvcj4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCgl2ZWN0b3I8Y2hhcj5pbnB1dDsKCWNoYXIgYyA9IGdldGNoYXIoKTsKCgl3aGlsZSAoYyAhPSBFT0YpIHsKCQlpbnB1dC5wdXNoX2JhY2soYyk7CgkJYyA9IGdldGNoYXIoKTsKCX0KCglpbnQgaW5wdXRMZW5ndGggPSBpbnB1dC5zaXplKCk7Cglib29sIGJsb2NrQ29tbWVudCA9IGZhbHNlOwoJYm9vbCBsaW5lQ29tbWVudCA9IGZhbHNlOwoJYm9vbCBzdHIgPSBmYWxzZTsKCglmb3IgKGludCBpID0gMDsgaSA8IGlucHV0TGVuZ3RoOyArK2kpIHsKCQlpZiAoIWxpbmVDb21tZW50ICYmICFibG9ja0NvbW1lbnQpIHsKCQkJaWYgKGlucHV0W2ldID09ICdcIicpIHsKCQkJCWlmIChpbnB1dFtpIC0gMV0gPT0gJ1xcJykgewoJCQkJCXB1dGNoYXIoJ1wiJyk7CgkJCQkJY29udGludWU7CgkJCQl9IGVsc2UgewoJCQkJCXN0ciA9ICFzdHI7CgkJCQkJcHV0Y2hhcignXCInKTsKCQkJCQljb250aW51ZTsKCQkJCX0KCQkJfQoJCX0KCgkJaWYgKCFzdHIpIHsKCQkJaWYgKGxpbmVDb21tZW50ICYmIGlucHV0W2ldICE9ICdcbicpIHsKCQkJCWNvbnRpbnVlOwoJCQl9IGVsc2UgaWYgKGxpbmVDb21tZW50ICYmIGlucHV0W2ldID09ICdcbicpIHsKCQkJCWlmIChpbnB1dFtpIC0gMV0gPT0gJ1xcJykgewoJCQkJCWNvbnRpbnVlOwoJCQkJfSBlbHNlIHsKCQkJCQlsaW5lQ29tbWVudCA9IGZhbHNlOwoJCQkJCXB1dGNoYXIoJ1xuJyk7CgkJCQkJY29udGludWU7CgkJCQl9CgkJCX0KCQkJCgkJCWlmIChibG9ja0NvbW1lbnQgJiYgaW5wdXRbaV0gIT0gJyonKSB7CgkJCQljb250aW51ZTsKCQkJfSBlbHNlIGlmIChibG9ja0NvbW1lbnQgJiYgaW5wdXRbaV0gPT0gJyonICYmIGlucHV0W2kgKyAxXSA9PSAnLycpIHsKCQkJCWJsb2NrQ29tbWVudCA9IGZhbHNlOwoJCQkJaSsrOwoJCQkJY29udGludWU7CgkJCX0gZWxzZSBpZiAoYmxvY2tDb21tZW50ICYmIGlucHV0W2ldID09ICcqJyAmJiBpbnB1dFtpICsgMV0gIT0gJy8nKSB7CgkJCQljb250aW51ZTsKCQkJfQoJCX0KCgkJaWYgKGlucHV0W2ldICE9ICcvJykgewoJCQlwdXRjaGFyKGlucHV0W2ldKTsKCQl9IGVsc2UgewoJCQlpZighc3RyKSB7CgkJCQlpZiAoaW5wdXRbaSArIDFdID09ICcqJykgewoJCQkJCWJsb2NrQ29tbWVudCA9IHRydWU7CgkJCQkJaSsrOwoJCQkJfSBlbHNlIGlmIChpbnB1dFtpICsgMV0gPT0gJy8nKSB7CgkJCQkJbGluZUNvbW1lbnQgPSB0cnVlOwoJCQkJCWkrKzsKCQkJCX0gZWxzZSB7CgkJCQkJcHV0Y2hhcihpbnB1dFtpXSk7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQlwdXRjaGFyKGlucHV0W2ldKTsKCQkJfQoJCX0KCX0KCglyZXR1cm4gMDsKfQ==