static int NOD(int a, int b, out int x, out int y)
int nod = NOD(b % a, a, out x, out y);
int newX = y - (b / a) * x;
static int Solution(int a, int b, int m)
int d = NOD(a, m, out x, out y);
while (x0 < 0) { x0 += m; }
public static void Main()
string alphabets = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя";
for(int i = 1; i < a; i++)
if(NOD(i, 33, out q, out w) == 1)
for(int j = 0; j< b; j++)
for(int k = 0; k< str.Length; k++)
int y = alphabets.IndexOf(str[k]);
int x = Solution(i, y > j ? y-j : y-j+33, 33);
Console.WriteLine(String.Format(" a = {0}; b = {1}; слово = {2}", i, j, str2));