/*
TASK : REBUS
LANG : C++
*/
#include <iostream>
#include <time.h>
using namespace std;
char a[100],b[11];
int rand();
int x[20],xx[20],b1[11],i,x11,xx1,m,n,m1,n1;
double x1=0,x2=10;
void xxx();
void give();
int main()
{
    cin.getline(a,100);
    for (i=0;i<=10;i++) b[i] = '\0';
    int k=1, l=0;
    for (i=0;a[i] != '\0';i++)
    {
        k=1;
        for (int j=0;j<=9;j++)
        if ((a[i] != b[j])and((int)a[i] >= 65)and((int)a[i] <= 90)) k=0; else
        {
                 k = 1;
                 break;
        }
        if (k == 0)
        {
              b[l] = a[i];
              l++;
        }
    }
    while (x1 != xx1) xxx();
    for (int t=0;b[t] != '\0';t++)
    cout << b[t] << "=" << b1[t] << endl;
    system("pause");
    return 0;
}

void xxx()
{
     m=0; n=0; m1=0; n1=0;
     for (i=0;i<=9;i++)
     give();
     for (int p=0;a[p] != '\0';p++)
     {
         if(a[p] == b[1]) a[p] = b1[1];
         if(a[p] == b[2]) a[p] = b1[2];
         if(a[p] == b[3]) a[p] = b1[3];
         if(a[p] == b[4]) a[p] = b1[4];
         if(a[p] == b[5]) a[p] = b1[5];
         if(a[p] == b[6]) a[p] = b1[6];
         if(a[p] == b[7]) a[p] = b1[7];
         if(a[p] == b[8]) a[p] = b1[8];
         if(a[p] == b[9]) a[p] = b1[9];
         if(a[p] == b[10]) a[p] = b1[10];             
     }
     for (int p=0;a[p] != '\0';p++)
     {
         x1 = 0; x2=0;
         while (((int)a[p] >= 65)and((int)a[p] <= 90)) x1++;
         p = p-x1;
         for (int g=0;g<=x1;g++) x2 = x2*10;
         x2 = x2 / 10;
         while (((int)a[p] >= 65)and((int)a[p] <= 90))
         {
               x[m] = x[m] + (a[p] * x2);
               x2 = x2 / 10;
               m++;
         }
         if (a[p] == '=')
         {
            for (;a[p] != '\0';p++)
            {
                x1 = 0; x2=0;
                while (((int)a[p] >= 65)and((int)a[p] <= 90)) x1++;
                p = p-x1;
                for (int g=0;g<=x1;g++) x2 = x2*10;
                x2 = x2 / 10;
                while (((int)a[p] >= 65)and((int)a[p] <= 90))
                {
                      xx[n] = x[n] + (a[p] * x2);
                      x2 = x2 / 10;
                      n++;
                }
            }
         }
     }
     for (int p=0;a[p] != '\0';p++)
     {
         while (((int)a[p] >= 65)and((int)a[p] <= 90)) p++;
         if (a[p] == '+')
         {
                  x11 = x[m1] + x[m1+1];
                  m=m+2;
         }
         else if (a[p] == '-')
         {
              x11 = x[m1] - x[m1-1];
              m=m+2;
         }
         if (a[p] == '=')
         {
                  for (int p=0;a[p] != '\0';p++)
                  {
                      while (((int)a[p] >= 65)and((int)a[p] <= 90)) p++;
                      if (a[p] == '+')
                      {
                         xx1 = xx[n1] + xx[n1+1];
                         n=n+2;
                      }
                      else if (a[p] == '-')
                      {
                           xx1 = xx[n1] - xx[n1-1];
                           n=n+2;
                      }
                  }
         }
     }
};
     
void give()
{
     b1[i] = rand() % 10;
     cout << b1[i]<< endl;
};
