#include <cstdio>
#include <vector>
using namespace std;
int main( ) {
vector< char > input;
char c = getchar ( ) ;
while ( c ! = EOF ) {
input.push_back ( c) ;
c = getchar ( ) ;
}
/*kom /* */ //* kom */jjjjss
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 ;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPHZlY3Rvcj4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCgl2ZWN0b3I8Y2hhcj5pbnB1dDsKCWNoYXIgYyA9IGdldGNoYXIoKTsKCgl3aGlsZSAoYyAhPSBFT0YpIHsKCQlpbnB1dC5wdXNoX2JhY2soYyk7CgkJYyA9IGdldGNoYXIoKTsKCX0KIC8qa29tIC8qICAqLy8vKiBrb20gICovampqanNzCglpbnQgaW5wdXRMZW5ndGggPSBpbnB1dC5zaXplKCk7Cglib29sIGJsb2NrQ29tbWVudCA9IGZhbHNlOwoJYm9vbCBsaW5lQ29tbWVudCA9IGZhbHNlOwoJYm9vbCBzdHIgPSBmYWxzZTsKCglmb3IgKGludCBpID0gMDsgaSA8IGlucHV0TGVuZ3RoOyArK2kpIHsKCQlpZiAoIWxpbmVDb21tZW50ICYmICFibG9ja0NvbW1lbnQpIHsKCQkJaWYgKGlucHV0W2ldID09ICdcIicpIHsKCQkJCWlmIChpbnB1dFtpIC0gMV0gPT0gJ1xcJykgewoJCQkJCXB1dGNoYXIoJ1wiJyk7CgkJCQkJY29udGludWU7CgkJCQl9IGVsc2UgewoJCQkJCXN0ciA9ICFzdHI7CgkJCQkJcHV0Y2hhcignXCInKTsKCQkJCQljb250aW51ZTsKCQkJCX0KCQkJfQoJCX0KCgkJaWYgKCFzdHIpIHsKCQkJaWYgKGxpbmVDb21tZW50ICYmIGlucHV0W2ldICE9ICdcbicpIHsKCQkJCWNvbnRpbnVlOwoJCQl9IGVsc2UgaWYgKGxpbmVDb21tZW50ICYmIGlucHV0W2ldID09ICdcbicpIHsKCQkJCWlmIChpbnB1dFtpIC0gMV0gPT0gJ1xcJykgewoJCQkJCWNvbnRpbnVlOwoJCQkJfSBlbHNlIHsKCQkJCQlsaW5lQ29tbWVudCA9IGZhbHNlOwoJCQkJCXB1dGNoYXIoJ1xuJyk7CgkJCQkJY29udGludWU7CgkJCQl9CgkJCX0KCQkJCgkJCWlmIChibG9ja0NvbW1lbnQgJiYgaW5wdXRbaV0gIT0gJyonKSB7CgkJCQljb250aW51ZTsKCQkJfSBlbHNlIGlmIChibG9ja0NvbW1lbnQgJiYgaW5wdXRbaV0gPT0gJyonICYmIGlucHV0W2kgKyAxXSA9PSAnLycpIHsKCQkJCWJsb2NrQ29tbWVudCA9IGZhbHNlOwoJCQkJaSsrOwoJCQkJY29udGludWU7CgkJCX0gZWxzZSBpZiAoYmxvY2tDb21tZW50ICYmIGlucHV0W2ldID09ICcqJyAmJiBpbnB1dFtpICsgMV0gIT0gJy8nKSB7CgkJCQljb250aW51ZTsKCQkJfQoJCX0KCgkJaWYgKGlucHV0W2ldICE9ICcvJykgewoJCQlwdXRjaGFyKGlucHV0W2ldKTsKCQl9IGVsc2UgewoJCQlpZighc3RyKSB7CgkJCQlpZiAoaW5wdXRbaSArIDFdID09ICcqJykgewoJCQkJCWJsb2NrQ29tbWVudCA9IHRydWU7CgkJCQkJaSsrOwoJCQkJfSBlbHNlIGlmIChpbnB1dFtpICsgMV0gPT0gJy8nKSB7CgkJCQkJbGluZUNvbW1lbnQgPSB0cnVlOwoJCQkJCWkrKzsKCQkJCX0gZWxzZSB7CgkJCQkJcHV0Y2hhcihpbnB1dFtpXSk7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQlwdXRjaGFyKGlucHV0W2ldKTsKCQkJfQoJCX0KCX0KCglyZXR1cm4gMDsKfQ==
stdin
Ly9rb20KICAgIC8qa29tIC8qICAqLy8vKiBrb20gICovampqanNzCi8qa29tbmViICAvLyAqL2RhbGVqIGtvbQpuaWUga29tIC8va29tMgovKmtvbSAzCmtvbTQgKi8KbmllIGtvbTIKcHJpbnRmKCZxdW90OyZxdW90Oyk7CnByaW50ZigmcXVvdDsvLyAgICZxdW90Oyk7CnByaW50ZigmcXVvdDsgLyogKi8gJnF1b3Q7KTsKcHJpbnRmKCZxdW90O1xuJnF1b3Q7KTsKcHJpbnRmKCZxdW90OyAvLyBcbiAvKiBcbiAqLyAmcXVvdDspOwpjb3V0Jmx0OyZsdDsmcXVvdDsgQmxhIC8vIEJsYSBCbGFcbiZxdW90OzsKY291dCZsdDsmbHQ7JnF1b3Q7IEJsYSAvKiBCbGEgLy8gKi8gLy8gQmxhJnF1b3Q7Jmx0OyZsdDtlbmRsOwovIGFsYS8gLy9hbGthCi8qIC8gYWxhLyAvLyAqLwovYWxhKi8KL2FsYSovKiBhbGEgKi4vICAqLwovLyBrb21lbnRhcnoKLy8ga29tZW50YXJ6MiBcCmRhbHN6eSBrb21lbnRhcnp5awpwZXJsLyovKi8qLy8vKi8vKi8vKi8vKiovLyovLyovLyovLwovKi8qIC8qIC8vLyovLyovLyovLyoqLy8qLy8qLy8qLy8qLwprb21lbnRhcnogLy8gY3p5IG5pZSBrb21lbnRhcnoKKi8vLiovLioqLi8KLypoamZkc2poZgpzZGZqaApkc2dmago4PwovCjgKKioKLy8KKi8=
//kom
/*kom /* *///* kom */jjjjss
/*komneb // */dalej kom
nie kom //kom2
/*kom 3
kom4 */
nie kom2
printf("");
printf("// ");
printf(" /* */ ");
printf("\n");
printf(" // \n /* \n */ ");
cout<<" Bla // Bla Bla\n";
cout<<" Bla /* Bla // */ // Bla"<<endl;
/ ala/ //alka
/* / ala/ // */
/ala*/
/ala*/* ala *./ */
// komentarz
// komentarz2 \
dalszy komentarzyk
perl/*/*/*///*//*//*//**//*//*//*//
/*/* /* ///*//*//*//**//*//*//*//*/
komentarz // czy nie komentarz
*//.*/.**./
/*hjfdsjhf
sdfjh
dsgfj
8?
/
8
**
//
*/