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<cstdio>
#include<cstring>
#include<algorithm>
#define maxn 4000
#define inf 1111111111
using namespace std;
struct Edge{
    int v,next,w;
}edge[200000];
int head[60000],en;
int gap[60000],h[60000];//gap霑吩クェ鬮伜コヲ逧?怏蜃?クェ?敬隸・轤ケ逧?ォ伜コヲ
int n,m,k,node,s,t,a,sum;
void addedge(int u,int v,int w)
{
    edge[en].v=v,edge[en].w=w;
    edge[en].next=head[u];
    head[u]=en++;
    swap(u,v);
    edge[en].v=v,edge[en].w=0;
    edge[en].next=head[u];
    head[u]=en++;
}
int dfs(int s,int t,int pos,int n,int cost)
{
    if(pos==t)
        return cost;
    int minh=n-1,lv=cost,d;
    for(int j=head[pos];j!=-1;j=edge[j].next)
    {
        int v=edge[j].v,w=edge[j].w;
        if(w>0)
        {
            if(h[v]+1==h[pos])
            {
                d=min(lv,w);
                d=dfs(s,t,v,n,d);
                edge[j].w-=d, edge[j^1].w+=d;
                lv-=d;
                if(h[s]>=n)    return cost-lv;
                if(lv==0)    break;
            }
            if(h[v]<minh)    minh=h[v];
        }
    }
    if(lv==cost)
    {
        gap[h[pos]]--;
        if(gap[h[pos]]==0)    h[s]=n;
        h[pos]=minh+1;
        gap[h[pos]]++;
    }
    return cost-lv;
}
int sap(int st,int ed,int n)
{
    int ret=0;
    memset(gap,0,sizeof(gap));
    memset(h,0,sizeof(h));
    gap[0]=n;
    while(h[st]<n)
        ret+=dfs(st,ed,st,n,inf);
    return ret;
}
int main()
{
    
    int ca,u,v,w;
    scanf("%d",&ca);
    for(int caa=1;caa<=ca;caa++)
    {
        scanf("%d%d",&n,&m);
        en=0;
        memset(head,-1,sizeof(head));
        for(int i=0;i<m;i++)
        {
            scanf("%d%d%d",&u,&v,&w);
            addedge(u,v,w);
        }
        printf("Case %d: %d\n",caa,sap(1,n,n));
    }
    return 0;
}

C++: #include <stdio.h>

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

C++: #include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<algorithm>
#include<string.h>
#include<math.h>
#include<queue>
#define sc scanf
#define pr printf
#define ct continue
#define re return
#define fr(i,t,n) for(int i = t; i <=n ; i++)
#define me(a,i) memset(a,i,sizeof(a))
#define ffr(x) for(int i = head[(x)] ; i!= -1 ; i = ed[i].nt)
using namespace std;
const int maxn = 110;
const int maxm = 220;
struct node
{
    int v,t,fee,nt;
} ed[maxm];
struct ps
{
    int nowv,nowt,nowspace,nowbag;
    ps(int a , int b , int c ,int d):nowv(a),nowt(b),nowspace(c),nowbag(d){}
    ps(){}
};
int n , m , B ,K ,R,ec,head[maxn],T;
void add(int u,int v, int t, int fee)
{
//    pr("%d %d\n",u,v);
    ed[++ec].v = v;
//    head[u] = ec;
    ed[ec].nt = head[u];
    head[u] = ec;
    ed[ec].t = t;
    ed[ec].fee =fee;
}
int price[maxn][55];
void init()
{
    ec = -1,me(head,-1);
    sc("%d%d%d%d%d%d",&n,&m,&B,&K,&R,&T);
    fr(i,1,n)
    fr(j,0,K-1)sc("%d",&price[i][j]);
    fr(i,1,m)
    {
        int a, b, c,d;
        sc("%d%d%d%d",&a,&b,&c,&d);
        add(a,b,c,d);
    }
}
int opt[maxn][maxm][11][11];

void solve()
{
    queue<ps>ok;
    ok.push(ps(1,0,0,0));
    fr(i,1,n)
      fr(j,0,T)
        fr(k,0,K)
          fr(l,0,B)opt[i][j][k][l]= -1;
    opt[1][0][0][0] = R;
    int res = -1;
    while(!ok.empty())
    {
        ps a = ok.front();
        ok.pop();
        int x = a.nowv;
        int hehe = opt[x][a.nowt][a.nowspace][a.nowbag];
        pr("v = %d , sp = %d , t = %d bag = %d  %d\n",a.nowv,a.nowspace,a.nowt,a.nowbag,hehe);
        if(x == n && a.nowspace == 0 && a.nowt == T)res = max(res,opt[x][a.nowt][a.nowspace][a.nowbag]);
//        if(x == n)ct;

        if(x != 1 && x != n)
        {
            int bag = a.nowbag;
            fr(j,a.nowbag+1,B)
            {
                int p = opt[x][a.nowt][a.nowspace][j];
                if(p < hehe + price[x][a.nowspace])
                {
                    opt[x][a.nowt][a.nowspace][j] = hehe + price[x][a.nowspace];
                    ok.push(ps(x,a.nowt,a.nowspace,j));
                }
            }
            fr(j,0,a.nowbag-1)
            {
                int p = opt[x][a.nowt][a.nowspace][j];
                if(p < hehe - price[x][a.nowspace])
                {
                    opt[x][a.nowt][a.nowspace][j] = hehe - price[x][a.nowspace];
                    ok.push(ps(x,a.nowt,a.nowspace,j));
                }
            }
        }
        if(a.nowt+1 <= T && opt[x][a.nowt+1][(a.nowspace+1)%K][a.nowbag] < hehe)
        {
            opt[x][a.nowt+1][(a.nowspace+1)%K][a.nowbag] = hehe;
            ok.push(ps(x,a.nowt+1,(a.nowspace+1)%K,a.nowbag));
        }
//        if(x == n)ct;
        for(int i = head[x] ; i != -1 ; i = ed[i].nt)
        {
            int v = ed[i].v;
//            pr("v = %d fe = %d t = %d\n",v,hehe-ed[i].fee,ed[i].t+a.nowt);
            if(hehe - ed[i].fee < 0 || ed[i].t + a.nowt > T)ct;
            if(v == n || v == 1)
              if(a.nowspace != 0)ct;
//            puts("fuck");
            if(opt[v][a.nowt+ed[i].t][a.nowspace][a.nowbag] < hehe - ed[i].fee)
            {
                opt[v][a.nowt+ed[i].t][a.nowspace][a.nowbag] = hehe - ed[i].fee;
                ok.push(ps(v,a.nowt+ed[i].t,a.nowspace,a.nowbag));
            }
        }
    }
    if(res != -1)pr("%d\n",res);
    else puts("Forever Alone");
}
int main()
{
    int test,cas=1;
    freopen("2.in","r",stdin);
    sc("%d",&test);
    while(test--)
    {
        init();
//        pr("Case #%d: ",cas++);
        solve();
    }
}

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(){

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