/*
Южный федеральный университет, ИКТИБ, кафедра МОП ЭВМ
КТбо1-6 Гамалеев Владислав Евгеньевич
Задача B. Новая строка
09.04.2020
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int isSmall(char c)
{
return (c >= 'a' && c <= 'z');
}
int main(void)
{
freopen("output.txt", "w", stdout
); char s[501], t[501];
int *cnt_a
= (int*)calloc(26,sizeof(int)); int *cnt_A
= (int*)calloc(26,sizeof(int)); int *in_t
= (int*)calloc(26,sizeof(int)); int *in_T
= (int*)calloc(26,sizeof(int)); for (int i = 0; t[i]; ++i)
{
if (isSmall(t[i]))
{
cnt_a[t[i]-'a']++;
in_t[t[i]-'a'] = 1;
if (cnt_a[t[i]-'a'] > 2)
{
return 0;
}
}
else
{
cnt_A[t[i]-'A']++;
in_T[t[i]-'A'] = 1;
if (cnt_A[t[i]-'A'] > 2)
{
return 0;
}
}
}
for (int i = 0; s[i]; ++i)
{
if (isSmall(s[i])) cnt_a[s[i]-'a']++;
else cnt_A[s[i]-'A']++;
}
for (int i = 0; t[i]; ++i)
{
if (isSmall(t[i]) && cnt_a[t[i]-'a'] < 2)
{
return 0;
}
else if (!isSmall(t[i]) && cnt_A[t[i]-'A'] < 2)
{
return 0;
}
}
int *cnt_b
= (int*)calloc(26,sizeof(int)); int *cnt_B
= (int*)calloc(26,sizeof(int)); for (int i = 0; t[i]; ++i)
{
if (isSmall(t[i])) cnt_b[t[i]-'a']++;
else cnt_B[t[i]-'A']++;
}
for (int i = 0; s[i]; ++i)
{
if (isSmall(s[i]) && (cnt_b[s[i]-'a'] < 2 && cnt_a[s[i]-'a'] >= 2 && in_t[s[i]-'a']))
{
cnt_b[s[i]-'a']++;
}
else if (!isSmall(s[i]) && (cnt_B[s[i]-'A'] < 2 && cnt_A[s[i]-'A'] >= 2 && in_T[s[i]-'A']))
{
cnt_B[s[i]-'A']++;
}
}
return 0;
}
LyoK0K7QttC90YvQuSDRhNC10LTQtdGA0LDQu9GM0L3Ri9C5INGD0L3QuNCy0LXRgNGB0LjRgtC10YIsINCY0JrQotCY0JEsINC60LDRhNC10LTRgNCwINCc0J7QnyDQrdCS0JwK0JrQotCx0L4xLTYg0JPQsNC80LDQu9C10LXQsiDQktC70LDQtNC40YHQu9Cw0LIg0JXQstCz0LXQvdGM0LXQstC40YcK0JfQsNC00LDRh9CwIEIuINCd0L7QstCw0Y8g0YHRgtGA0L7QutCwCjA5LjA0LjIwMjAKKi8KCiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3RkbGliLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KIAppbnQgaXNTbWFsbChjaGFyIGMpCnsKICAgIHJldHVybiAoYyA+PSAnYScgJiYgYyA8PSAneicpOwp9CmludCBtYWluKHZvaWQpCnsKICAgIGZyZW9wZW4oImlucHV0LnR4dCIsICJyIiwgc3RkaW4pOwogICAgZnJlb3Blbigib3V0cHV0LnR4dCIsICJ3Iiwgc3Rkb3V0KTsKICAgIGNoYXIgc1s1MDFdLCB0WzUwMV07CiAgICBnZXRzKHMpOwogICAgZ2V0cyh0KTsKIAogICAgaW50ICpjbnRfYSA9IChpbnQqKWNhbGxvYygyNixzaXplb2YoaW50KSk7CiAgICBpbnQgKmNudF9BID0gKGludCopY2FsbG9jKDI2LHNpemVvZihpbnQpKTsKICAgIGludCAqaW5fdCA9IChpbnQqKWNhbGxvYygyNixzaXplb2YoaW50KSk7CiAgICAgaW50ICppbl9UID0gKGludCopY2FsbG9jKDI2LHNpemVvZihpbnQpKTsKICAgIGZvciAoaW50IGkgPSAwOyB0W2ldOyArK2kpCiAgICB7CiAgICAgICAgaWYgKGlzU21hbGwodFtpXSkpCiAgICAgICAgewogICAgICAgICAgICBjbnRfYVt0W2ldLSdhJ10rKzsKICAgICAgICAgICAgaW5fdFt0W2ldLSdhJ10gPSAxOwogICAgICAgICAgICBpZiAoY250X2FbdFtpXS0nYSddID4gMikKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgcHJpbnRmKCJOTyIpOwogICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgY250X0FbdFtpXS0nQSddKys7CiAgICAgICAgICAgIGluX1RbdFtpXS0nQSddID0gMTsKICAgICAgICAgICAgaWYgKGNudF9BW3RbaV0tJ0EnXSA+IDIpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHByaW50ZigiTk8iKTsKICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgCiAgICB9CiAgIAogICAgZm9yIChpbnQgaSA9IDA7IHNbaV07ICsraSkKICAgIHsKICAgICAgICBpZiAoaXNTbWFsbChzW2ldKSkgY250X2Fbc1tpXS0nYSddKys7CiAgICAgICAgZWxzZSBjbnRfQVtzW2ldLSdBJ10rKzsKICAgIH0KICAgCiAgICBmb3IgKGludCBpID0gMDsgdFtpXTsgKytpKQogICAgewogICAgICAgIGlmIChpc1NtYWxsKHRbaV0pICYmIGNudF9hW3RbaV0tJ2EnXSA8IDIpCiAgICAgICAgewogICAgICAgICAgICBwcmludGYoIk5PIik7CiAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmICghaXNTbWFsbCh0W2ldKSAmJiBjbnRfQVt0W2ldLSdBJ10gPCAyKQogICAgICAgIHsKICAgICAgICAgICAgcHJpbnRmKCJOTyIpOwogICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICB9CiAgICB9CiAKICAgIGludCAqY250X2IgPSAoaW50KiljYWxsb2MoMjYsc2l6ZW9mKGludCkpOwogICAgaW50ICpjbnRfQiA9IChpbnQqKWNhbGxvYygyNixzaXplb2YoaW50KSk7CiAgICBmb3IgKGludCBpID0gMDsgdFtpXTsgKytpKQogICAgewogICAgICAgIHByaW50ZigiJWMiLCB0W2ldKTsKICAgICAgICBpZiAoaXNTbWFsbCh0W2ldKSkgY250X2JbdFtpXS0nYSddKys7CiAgICAgICAgZWxzZSBjbnRfQlt0W2ldLSdBJ10rKzsKICAgIH0KIAogICAgZm9yIChpbnQgaSA9IDA7IHNbaV07ICsraSkKICAgIHsKICAgICAgICBpZiAoaXNTbWFsbChzW2ldKSAmJiAoY250X2Jbc1tpXS0nYSddIDwgMiAmJiBjbnRfYVtzW2ldLSdhJ10gPj0gMiAmJiBpbl90W3NbaV0tJ2EnXSkpCiAgICAgICAgewogICAgICAgICAgICBwcmludGYoIiVjIiwgc1tpXSk7CiAgICAgICAgICAgIGNudF9iW3NbaV0tJ2EnXSsrOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmICghaXNTbWFsbChzW2ldKSAmJiAoY250X0Jbc1tpXS0nQSddIDwgMiAmJiBjbnRfQVtzW2ldLSdBJ10gPj0gMiAmJiBpbl9UW3NbaV0tJ0EnXSkpCiAgICAgICAgewogICAgICAgICAgICBwcmludGYoIiVjIiwgc1tpXSk7CiAgICAgICAgICAgIGNudF9CW3NbaV0tJ0EnXSsrOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAwOwp9