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 <iostream>
#include <cstdio>
#include <cstring>

#include <algorithm>
#include <vector>
using namespace std;

#define MP make_pair
#define LL long long
#define REP(i,a,b) for (int i = a; i <= b; ++i)

struct dice {
    int u, d, l, r, f, b;
    bool operator == (const dice &p) const {
        if (u != p.u) return false;
        if (d != p.d) return false;
        if (l != p.l) return false;
        if (r != p.r) return false;
        if (f != p.f) return false;
        if (b != p.b) return false;
    }
    int input() {
        return scanf( "%d%d%d%d%d%d", &u, &d, &l, &r, &f, &b ) != EOF;
    }
}cur, nxt, S, T;

void L() {
    nxt.f = cur.f, nxt.b = cur.b;
    nxt.l = cur.u, nxt.u = cur.r;
    nxt.r = cur.d, nxt.d = cur.l;
}

void R() {
    nxt.f = cur.f, nxt.b = cur.b;
    nxt.l = cur.d, nxt.d = cur.r;
    nxt.r = cur.u, nxt.u = cur.l;
}

void F() {
    nxt.l = cur.l, nxt.r = cur.r;
    nxt.f = cur.u, nxt.u = cur.b;
    nxt.b = cur.d, nxt.d = cur.f;
}

void B() {
    nxt.l = cur.l, nxt.r = cur.r;
    nxt.f = cur.d, nxt.d = cur.b;
    nxt.b = cur.u, nxt.u = cur.f;
}

int dis[105];
dice Q[105];

int bfs() {
    if (S == T) return 0;
    memset(dis, -1, sizeof(dis));
    int msk = S.u * 10 + S.f, head = 0, tail = 0, goal = T.u * 10 + T.f;
    dis[msk] = 0;
    Q[tail++] = S;
    while (head < tail) {
        cur = Q[head++];
        int now = dis[cur.u * 10 + cur.f];
        L(); msk = nxt.u * 10 + nxt.f;
        if (dis[msk] == -1) {
            dis[msk] = now + 1;
            if (msk == goal && nxt == T) return dis[msk];
            Q[tail++] = nxt;
        }
        R(); msk = nxt.u * 10 + nxt.f;
        if (dis[msk] == -1) {
            dis[msk] = now + 1;
            if (msk == goal && nxt == T) return dis[msk];
            Q[tail++] = nxt;
        }
        F(); msk = nxt.u * 10 + nxt.f;
        if (dis[msk] == -1) {
            dis[msk] = now + 1;
            if (msk == goal && nxt == T) return dis[msk];
            Q[tail++] = nxt;
        }
        B(); msk = nxt.u * 10 + nxt.f;
        if (dis[msk] == -1) {
            dis[msk] = now + 1;
            if (msk == goal && nxt == T) return dis[msk];
            Q[tail++] = nxt;
        }
    }
    return -1;
}

int main()
{
    while (S.input()) {
        T.input();
        printf( "%d\n", bfs() );
    }
    return 0;
}

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

int main(){
	
	for(int i = 1; i <= 9; i++){
		for(int j = 1; j <= 9; j++){
			int ans = i * j;
			cout << i << "??" << j << "=" << ans << "\n"; 
		}
	}
	
    return 0;
}

C++: #include<cstring>
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<vector>
#include<map>

#define lson u<<1
#define rson u<<1|1
#define mid (l+r)>>1
#define lbranch l, mid, lson
#define rbranch mid+1, r, rson
#define MAXN 1050000
using namespace std;

struct SegTree{
    bool vis[30];
    int lazy;
    void init(){
        memset(vis, 0, sizeof(vis));
    }
}seg[MAXN<<2];
int n, m;

void build(int l, int r, int u){
    seg[u].lazy = -1;
    seg[u].init();
    if(l == r) return;
}

void PushUp(int u){
    for(int i=0; i<30; i++)
        seg[u].vis[i] = seg[lson].vis[i] | seg[rson].vis[i];
}

void PushDown(int l, int r, int u){
    if(seg[u].lazy != -1){
        seg[lson].init();
        seg[rson].init();
        seg[lson].lazy = seg[u].lazy;
        seg[rson].lazy = seg[u].lazy;
        seg[lson].vis[seg[u].lazy] = true;
        seg[rson].vis[seg[u].lazy] = true;
        seg[u].lazy = -1;
    }
}

void update(int ql, int qr, int color, int l, int r, int u){
    if(ql <= l && r <= qr){
        seg[u].lazy = color;
        seg[u].init();
        seg[u].vis[color] = true;
        return;
    }
    PushDown(l, r, u);
    if(ql <= mid) update(ql, qr, color, lbranch);
    if(qr > mid) update(ql, qr, color, rbranch);
    PushUp(u);
}

void query(int ql, int qr,int l, int r, int u, bool vis[]){
    if(ql <= l && r <= qr){
        for(int i=0; i<30; i++){
            vis[i] |= seg[u].vis[i];
        }
        return;
    }
    PushDown(l, r, u);
    if(ql <= mid) query(ql, qr, lbranch, vis);
    if(qr > mid)  query(ql, qr, rbranch, vis);
}

int main(){
    freopen("/home/acm/code/input.txt","r", stdin);
    while(cin>>n>>m){
        build(1, n, 1);
        while(m--){
            char ch[2];
            scanf("%s", ch);
            if(ch[0] == 'P'){
                int a, b, c;
                c--;
                scanf("%d %d %d", &a, &b, &c);
                update(a, b, c, 1, n, 1);
            }else{
                int a, b;
                scanf("%d %d", &a, &b);
                bool vis[30] = {0};
//                query(a, b, 1, n, 1, vis);
                bool first = true;
                for(int i=0; i<30; i++){
                    if(vis[i]){
                        if(!first){
                            printf(" ");
                        }else{
                            first = false;
                        }
                        printf("%d", i+1);
                    }
                }
            }
        }
    }
}

C++: i, j;main(){for(;i++<9;)for(j=1;j<=9;)printf("%dx%d=%d\n",i,j++,i*j);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 <stdio.h>

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

C++: #include<iostream>

using namespace std;

int main(){

	for(int i1=0 ; i1<9 ; i1++){
		for(int i2=0 ; i2<9 ; i2++){
			cout << i1+1 << 'x' << i2+1 << '=' << i1*i2 << 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 << "\n";);
}
}
    return 0;
}

C++: #include<stdio.h>

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<cstdio>
using namespace std;

// ÄAÉæé2iñ
void rec(int depth, int max_depth, int a[], int &cnt) {
  if ( depth == max_depth ) {
    cnt++;
    return;
  }
  
  for(int i = 0; i < 2; i++) {
    a[depth] = i;
    rec(depth + 1, max_depth, a, cnt);    
  }  
}

int main() {  
  int a[128];
  int cnt = 0;
  int max_depth = 27;
  rec(0, max_depth, a, cnt);
  
  for(int a = 1; a <= 9; a++)
    for(int b = 1; b <= 9; b++)
      printf("%dx%d=%d\n", a, b, a * 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++){
			cout<<i<<"x"<<j<<"="<<i*j<<"\n";
		}
	}
	return 0;
}

C++: #include<iostream>

int main(){
int i,j;
for(i=1;i<10;i++)for(j=1;j<10;j++)cout<<i<<"x"<<j<<"="<<i*j<<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;
    }
  }
}

C++: #include <bits/stdc++.h>
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);
		}
	}
}

C++: #include <iostream>

using namespace std;

int main (int argc, char * const argv[]) {
    // insert code here...
    
	for(int i=1;i<10;i++){
		for(int j=1;j<10;j++){
			cout<<i<<"x"<<j<<"="<<i*j<<endl;
		}
	}
    return 0;
}

C++: class Main{
	public static void main(String[] a){
		for(int i=1;i<=9;i++){
	   		for (int n=1;n <=9;n++){
			System.out.println(i + "x" + n + "=" + (i *n));
	   		}
  		}
	}
}

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

int main(){
int a = 1,b = 1,c;
while(a != 9 and b != 9){
c=a*b;
cout<<a<<"x"<<b<<"="<<c<<endl;
b++;
if(b == 10){
a++;
b = 1;
}

}
}