Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <cstdio>
- #include <vector>
- #include <string>
- #include <iostream>
- #include <algorithm>
- #include <map>
- #include <iterator>
- #include <functional>
- #include <set>
- #include <stack>
- #include <queue>
- #include <deque>
- #include <fstream>
- #include <iomanip>
- #include <numeric>
- #include <cmath>
- #include <list>
- #include <sstream>
- #include <cstring>
- #include <stdio.h>
- using namespace std;
- #pragma GCC optimize("O3")
- #pragma GCC target("sse4")
- typedef long double LD;
- typedef long long LL;
- typedef unsigned long long ULL;
- typedef pair<int, int> PII;
- typedef pair<LD, LD> PDD;
- typedef pair<LL, int> PLL;
- typedef vector<int> VI;
- typedef vector<LL> VLL;
- typedef vector<char> VCH;
- typedef vector<LD> VLD;
- typedef vector<string> VS;
- typedef vector<VS> VSS;
- typedef vector<VI> VVI;
- typedef vector<VLL> VVLL;
- typedef vector<VCH> VVCH;
- typedef vector<PII> VPII;
- typedef vector<PLL> VPLL;
- typedef vector<PDD> VPDD;
- #define MP make_pair
- #define PB push_back
- #define X first
- #define Y second
- #define next fake_next
- #define prev fake_prev
- #define left fake_left
- #define right fake_right
- #define FOR(i,a,b) for(int i = (a); i < (b); ++i)
- #define RFOR(i,b,a) for(int i = (b) - 1; i >= (a); --i)
- #define REP(i, t) FOR(i,0,t)
- #define ALL(a) a.begin(), a.end()
- #define SZ(a) (int)((a).size())
- #define FILL(a, value) memset(a, value, sizeof(a))
- const LD PI = acos(-1.0);
- const LD EPS = 1e-4;
- const LL INF = 1e7 - 1;
- const LL mod = 1000000007;
- const LL LINF = 1e18 + 10;
- const int MAXN = 10001;
- const int MAXK = 101;
- bool real_check(char x, char y)
- {
- if (x == '0' && y == 'O')
- return 1;
- if (x == 'O' && y == '0')
- return 1;
- if (x == '1' || x == 'l' || x == 'I')
- {
- if (y == '1' || y == 'l' || y == 'I')
- {
- return 1;
- }
- }
- if (x >= 'A' && x <= 'Z')
- x += 32;
- if (y >= 'A' && y <= 'Z')
- y += 32;
- if (x == y)
- return 1;
- return 0;
- }
- bool check(char x, char y)
- {
- char x1 = x, x2 = x + 32;
- if (x >= 'a')
- x2 -= 64;
- char y1 = y, y2 = y + 32;
- if (y >= 'a')
- y2 -= 64;
- return real_check(x1, y1) || real_check(x1, y2) || real_check(x2, y1) || real_check(x2, y2);
- }
- bool check(string s, string t)
- {
- if (SZ(s) != SZ(t))
- return 0;
- FOR(i, 0, SZ(s))
- if (s[i] != t[i])
- if (!check(s[i], t[i]))
- return 0;
- return 1;
- }
- int main()
- {
- ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
- //freopen("In.txt", "r", stdin);
- string s;
- cin >> s;
- int n;
- cin >> n;
- string t;
- FOR(i, 0, n)
- {
- cin >> t;
- if (check(s, t))
- {
- cout << "No" << endl;
- return 0;
- }
- }
- cout << "Yes" << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement