Go: package main

import (
	"fmt"
	"strconv"
)

func main() {
	for _, leftValue := range MultiplicationTableNum(9) {
		for _, rightValue := range MultiplicationTableNum(9) {
			strLeftVal, strRightVal, strMulti := strconv.Itoa(leftValue), strconv.Itoa(rightValue), strconv.Itoa(Multiplication(leftValue, rightValue))
			fmt.Println(strLeftVal + "x" + strRightVal + "=" + strMulti)
		}
	}
}

func MultiplicationTableNum(num int) []int {
	multiNum := []int{}
	for i := 1; i <= num; i++ {
		multiNum = append(multiNum, i)
	}
	return multiNum
}

func Multiplication(x, y int) int {
	return x * y
}

C++: #include <iostream>
using namespace std;
#include <string.h>
#include <stdio.h>
#define N 20005
int curt, T;

void atk2 (int x, int l, int r, int d);

struct node { int l, r, tim; } buf[4*N];
void init(int x, int l, int r) {	
	if(l==r) buf[x]=(node){l,r,0};
	else {
		int m=(l+r)/2;
		init(x*2,l,m);
		init(x*2+1,m+1,r);
		buf[x]=(node){l,r,0};
	}
}
void push(int x) {
	if(buf[x].tim == -1) return;
	if(buf[x].l == buf[x].r) return;
	int m=(buf[x].l+buf[x].r)/2;
	buf[x*2].tim = buf[x*2+1].tim = buf[x].tim;
	buf[x].tim = -1;
}
void pull(int x) {
	if(buf[x].l == buf[x].r) return;
	if(buf[x*2].tim != -1 && buf[x*2].tim <= curt && buf[x*2+1].tim!=-1 && buf[x*2+1].tim <= curt) buf[x].tim = curt;
	else buf[x].tim = -1;
}
void atk (int x, int l, int r) {
	// cout << "Before atk " << x << " " << buf[x].l << " " << buf[x].r << " " << buf[x].tim << endl;
	
	if(buf[x].l == l && buf[x].r == r && buf[x].tim <= curt && buf[x].tim != -1) buf[x].tim = curt + T;
	else if(buf[x].l == l && buf[x].r == r && buf[x].tim > curt) atk2 (x, l, r, 1);
	else {
		push(x);
		int m=(buf[x].l+buf[x].r)/2;
		if(r<=m) atk (x*2, l, r);
		else if(l>m) atk (x*2+1, l, r);
		else atk (x*2, l, m), atk (x*2+1, m+1, r);
		pull(x);
	}
	
	// cout << "After atk " << x << " " << buf[x].l << " " << buf[x].r << " " << buf[x].tim << endl;
}

struct node2 { int l, r, cnt, bg; } buf2 [4*N];
void init2 (int x, int l, int r) {
	if(l == r) buf2 [x]=(node2){l,r,0,0};
	else {
		int m=(l+r)/2;
		init2 (x*2,l,m);
		init2 (x*2+1,m+1,r);
		buf2 [x]=(node2){l,r,0,0};
	}
}
void push2 (int x) {
	if(buf2 [x].bg == 0) return;
	if(buf2 [x].l == buf2 [x].r) return;
	int m = (buf2 [x].l + buf2 [x].r)/2;
	atk2(x*2, buf2 [x].l, m, buf2 [x].bg);
	atk2(x*2+1, m+1, buf2 [x].r, buf2 [x].bg);
	buf2 [x].bg =0;
}
void atk2 (int x, int l, int r, int d) {
	// cout << "atk2: " << x << " "<< l << " " << r  << endl;
	if(buf2[x].l == l &&  buf2[x].r== r) buf2[x].bg+=d;
	else {
		push2 (x);
		int m=(buf2[x].l+buf2[x].r)/2;
		if(r<=m) atk2 (x*2,l,r,1);
		else if(l>m) atk2 (x*2+1,l,r,1);
		else atk2 (x*2,l,m,1),atk2 (x*2+1,m+1,r,1);
	}
}
int query2 (int x, int q) {
	if(buf2 [x].l == buf2 [x].r) return buf2 [x].cnt + buf2 [x].bg;
	push2 (x);
	int m=(buf2 [x].l+buf2 [x].r)/2;
	if(q<=m) return query2 (x*2, q);
	return query2 (x*2+1, q);
}
int main() {
	int n, q, cas=1, casn;
	scanf("%d", &casn);
	while(casn--) {
		scanf("%d%d%d", &n, &q, &T);
		printf("Case %d:\n", cas++);
		curt=0;
		
		memset( buf, 0, sizeof buf );
		memset( buf2, 0, sizeof buf2 );
		init (1, 1, n);
		init2(1, 1, n);
		for(int i=0; i<q; ++i) {
			char op[50];
			scanf("%s",op);
			if(op[0]=='A') {
				int l, r;
				scanf("%d%d", &l ,&r);
				atk (1, l, r);
				curt++;
			} else {
				int pos;
				scanf("%d", &pos);
				printf("%d\n", query2 (1, pos));
			}
			
		}
	}
	return 0;
}

C++: //
// Write a program which prints multiplication tables in the following format:
//
#include <iostream>
using namespace std;

static const int EndRecursion = 9;

void inner(int left_side, int right_side)
{
    if (EndRecursion < right_side)
        return;

    cout << left_side << "x" << right_side << endl;
    inner(left_side, right_side + 1);
}

void outer(int left_side)
{
    if (EndRecursion < left_side)
        return;

    inner(left_side, 1);
    outer(left_side + 1);
}

void run()
{
    outer(1);
}

int main()
{
    // Start QQ
    run();
}

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 <bits/stdc++.h>
#include <memory>
using namespace std;

class C {
	int a[32][32];
};

class D {
public: 
	D() : a(28, std::vector<int>(28)){}
private:
	std::vector<std::vector<int>> a;
};

int main()
{
	C *p = new C[10000];
	// D *q = new D[10000];
}

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

C++: #include<stdio.h>
char a, b;int main(){for(a=1;a<=9;a++)for(b=1;b<=9;b++)printf("%dx%d=%d\n",a,b,a*b);return 0;}

C++: #include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

class range {
private:
  struct Iterator {
    int val, inc;
    int operator*() {return val;}
    bool operator!=(Iterator& itr) {return val != itr.val;}
    void operator++() {val += inc;}
  };
  Iterator i, n;
public:
  range(int n) : i({0, 1}), n({n, 1}) {}
  range(int i, int n) : i({i, 1}), n({n, 1}) {}
  range(int i, int inc, int n) : i({i, inc}), n({n, inc}) {}
  Iterator& begin() {return i;}
  Iterator& end() {return n;}
};

template<class T> inline T at(const vector<T> &v, int i) {return v[(i % (int)v.size() + v.size()) % v.size()];}

template<class T> inline bool is_max(T &a, const T &b) {return a < b ? a = b, true : false;}
template<class T> inline bool is_min(T &a, const T &b) {return a > b ? a = b, true : false;}

int main() {
  for (int i : range(1, 10)) for (int j : range(1, 10)) cout << i << "x" << j << "=" << i * j << endl;
}

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

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