Go: package main

import "fmt"


func main() {
	for i := 1; i <= 9; i++ {
		for i2 := 1; i2 <= 9; i2++ {
			fmt.Printf("%d ?? %d = %d\n", i, i2, i*i2)
		}
	}
}

C++: #include <bits/stdc++.h>
using namespace std;
#define FOR(i, s, n) for(int i = s; i < (int)n; i++)
#define per(i, n) for(int i = n; i >= 0; i--)
#define ROF(i, s, n) for(int i = s; i >= (int)n; i--)
#define FORIT(i, A) for (auto i : A)
#define PRINT(x) cout << (x) << "\n"
#define ALL(a) (a).begin(),(a).end()
#define RALL(a) (a).rbegin(), (a).rend()
#define MP make_pair
#define EACH(i, n) for (__typeof((n).begin()) i = (n).begin(); i != (n).end(); ++i)
#define SZ(a) int((a).size())
#define EXIST(s,e) ((s).find(e)!=(s).end())
#define SORT(c) sort((c).begin(),(c).end())
#define CLR(a) memset((a), 0 ,sizeof(a))
#define NCLR(a) memset((a), -1 ,sizeof(a))
#define dump(x) cout << #x << " = " << (x) << "\n";
#define debug(x) cout << #x << " = " << (x) << " (L" << __LINE__ << ")" << " " << __FILE__ << "\n";
#define sq(n) (n) * (n)
typedef vector<int> VI;
typedef vector<VI> VVI;
typedef vector<string> VS;
typedef pair<int, int> PII;
typedef long long LL;
typedef vector<LL> VLL;
typedef vector<VLL> VVLL;
typedef unsigned int uint;
typedef unsigned long long ull;
typedef priority_queue<int> maxpq;
typedef priority_queue< int, vector<int>, greater<int> > minpq;
typedef complex<double> P;
static const double EPS = 1e-10;
static const double PI = acos( -1.0 );
static const int mod = 1000000007;
static const int INF = 1 << 29;
static const LL LL_INF = 1152921504606846976;
static const int dx[] = { -1, 0, 1, 0, 1, -1, 1, -1 };
static const int dy[] = { 0, -1, 0, 1, 1, 1, -1, -1 };


int main() {
#ifdef _DEBUG
	printf( "debug\n" );
#endif
	for ( int i = 1; i < 10; i++ ) {
		for ( int j = 1; j < 10; j++ ) {
			printf( "%dx%d=%d \n", i, j, i * j);
		}
	}
	return 0;
}

C++: #include<iostream>
using namespace std;

int main(){
  for(int a=1;a<=9;a++){
    for(int b=1;b<=9;b++){
      int c=a*b;
      printf(a+"x"+b=c)
    }
  }
  return 0;
}

C++: #include <iostream>
using namespace std;

int main() {
	for (int a=0;a<9;a=a+1){
		for(int b=0;b<9;b=b+1){
			cout<<a+1<<"x"<<b+1<<"="<<(a+1)*(b+1)<<endl;
		}
	}
}

C++: #include <bits/stdc++.h>
using namespace std;

int main() {
  for (int i = 1; i <= 9; i ++) {
    for (int j = 1; j <= 9; j ++) {
      cout << i << "x" << j << "=" << i * j << endl;
  }
}
}

C++: #include <iostream>
using namespace std;

int main(){
   for(int x=1;x<10;x++){
	 for(int y=1;y<10;y++){
   		cout << x<<"*"<<y<<"="<<x*y << endl;
	 }
	}
	return 0;
}

C++: #include<iostream>
using namespace std;
 
int main(){
 
for(int a = 1;a <= 9;a++){
	for(int b = 1;b <= 9;b++){
	cout <<a<<"x"<<b<<"="<<a*b<<endl;
	}
}
    return 0;
}

C++: #include<stdio.h>

int main()
{
    int i,j,mt=0;

    for(i=1;i<10;i++)
    {
        for(j=1;j<10;j++)
        {
           mt = i * j;
           printf("%dx%d=%d\n",i,j,mt);
        }

    }
    return 0;
}

C++: #include<stdio.h>

int main(){

int a,b,i;
a=b=1;

    while(1){
    
        printf("%dx%d=%d\n", a,b,a*b);
    
    if(a==9 && b==9) break;
   
     if(b==9){
        a++;
        b=1;
    }
        b++;
    }
    
    return 0;
        }

C++: #include<iostream>
using namespace std;

int main(){
    for (int i=1; i<10; i++) {
        for (int j=1; j<10; j++) {
            std::cout << i << "x" << j << "=" << i*j << std::endl;   
        }
    }
    return 0;
}

C++: #include<bits/stdc++.h>
using namespace std;

int main(){

  for(int i=1;i<=9;i++){
    for(int j=1;j<=9;j++){
      cout << i << "x" << j << "=" << i*j << endl;
    }
  }

  return 0;
}

C++: #include<iostream>
using namespace std;

int main(){
	for(int i=1;i<=9;i++)
		for(int j=1;j<=9;j++)
			cout << i << "x" << j << "=" << i*j <<endl;
    return 0;
}

C++: #include <stdio.h>
int main(void){
    // Your code here!
    int a,b;
    a = 1;
    b = 1;
    while(a != 10 && b != 11){
        if(b != 10){
            printf("%dx%d=%d\n",a,b,a * b);
            b ++;
        }
        else{
            b = 1;
            a++;
        } 
    
    }
    return 0;
}

C++: #include <bits/stdc++.h>
using namespace std;
int main(){
  cout<<"1x1=1"<<endl;
cout<<"1x2=2"<<endl;
cout<<'.'<<endl<<'.'<<endl;
cout<<"9x8=72"<<endl;
cout<<"9x9=81"<<endl;
}

C++: 
#include <iostream>

using namespace std;

int main()
{
	int q;

	for (int i = 1; i < 10; i++){
		for (int iq = 1; iq < 10; iq++){
			q = i * iq;

			cout << i << "x" << iq << "=" << q << endl;
		}
	}

	return 0;
}

C++: #include<iostream>
using namespace std;

int main(){
    for (int i = 1; i <= 9; i++) {
        for (int j = 1; j <= 9; j++) {
            printf("%dx%d=%d\n", i, j, i * j);
        }
    }
    return 0;
}

C++: #include <iostream>
using namespace std;

int main() {
	for (int i = 1; i < 10; i++) for (int j = 1; j < 10; j++)
		cout << i << "x" << j << "=" << i * j << endl;
	return 0;
}

C++: #include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;

const int N = 2012 , LEN = 100111;

char str[LEN];

struct SuffixArray {
    int wa[LEN] , wb[LEN] , wv[LEN] , ws[LEN];
    int n , m , r[LEN] , sa[LEN] , rank[LEN] , h[LEN];
    void init(char *str) {
        n = strlen(str);
        for(int i = 0 ; i < n ; i++) r[i] = str[i] - 'a' + 1;
        r[n] = 0 , m = 27; // change
    }
    inline int cmp(int *y , int a , int b , int l) {
        return y[a] == y[b] && y[a+l] == y[b+l];
    }
    void get_sa(int n) {
        int i , j , p , *x = wa , *y = wb , *t;
        for(i = 0 ; i < m ; i++) ws[i] = 0;
        for(i = 0 ; i < n ; i++) ws[x[i] = r[i]]++;
        for(i = 1 ; i < m ; i++) ws[i] += ws[i-1];
        for(j = 1 , p = 1 ; p < n ; j <<= 1 , m = p) {
            for(p = 0 , i = n - j ; i < n ; i++) y[p++] = i;
            for(i = 0 ; i < n ; i++) if(sa[i] >= j) y[p++] = sa[i] - j;
            for(i =  0 ; i < m ; i++) ws[i] = 0;
            for(i = 0 ; i < n ; i++) ws[wv[i] = x[y[i]]]++;
            for(i = 1 ; i < m ; i++) ws[i] += ws[i-1];
            for(i = n - 1 ; i >= 0 ; i--) sa[--ws[wv[i]]] = y[i];
            swap(x , y) , p = 1 , x[sa[0]] = 0;
            for(i = 1 ; i < n ; i++)
                x[sa[i]] = cmp(y , sa[i-1] , sa[i] , j) ? p - 1 : p++;
        }
    }
    void get_h() {
        int i , j , k = 0;
        for(i = 1 ; i <= n ; i++) rank[sa[i]] = i;
        for(i = 0 ; i < n ; h[rank[i++]] = k)
            for(k ? k--:0 , j = sa[rank[i]-1] ; r[i+k] == r[j+k] ; k++);
    }
    void out() {
        get_sa(n + 1);
        puts("hehe");
        get_h();
        puts("rank array:");
        for(int i = 0 ; i < n ; i++) printf("%d " , rank[i]);
        puts("\nsa array");
        for(int i = 1 ; i <= n ; i++) printf("%d " , sa[i]);
        puts("\nheight array");
        for(int i = 1 ; i <= n ; i++) printf("%d " , h[i]);
        puts("");
    }
}sf;

int main() {
    scanf("%s" , str);
    sf.init(str);
    sf.out();
    return 0;
}