@@ -0,0 +1,1347 @@
+import java.util.Scanner;%0Aimport java.util.ArrayList;%0A%0Apublic class Multiplication %7B%0A    public int a;%0A    public int b;%0A    public ArrayList%3CInteger%3E a_digits = new ArrayList%3CInteger%3E();%0A    public ArrayList%3CInteger%3E b_digits = new ArrayList%3CInteger%3E();%0A    public ArrayList%3CBox%3E boxes = new ArrayList%3CBox%3E();%0A%0A    public class Box %7B%0A        public int top;%0A        public int bottom;%0A        public Box(int a, int b) %7B%0A            int mult = a * b;%0A            this.top = (mult / 10) %25 10;%0A            this.bottom = mult %25 10;%0A        %7D%0A    %7D%0A%0A    public Multiplication(int a, int b) %7B%0A        this.a = a;%0A        this.b = b;%0A%0A        ArrayList%3CInteger%3E a_digits = new ArrayList%3CInteger%3E();%0A        ArrayList%3CInteger%3E b_digits = new ArrayList%3CInteger%3E();%0A%0A        while (a %3E 0) %7B%0A            a_digits.add(a %25 10);%0A            a /= 10;%0A        %7D%0A%0A        while (b %3E 0) %7B%0A            b_digits.add(b %25 10);%0A            b /= 10;%0A        %7D%0A    %7D%0A%0A    public void draw() %7B%0A%0A    %7D%0A%0A    public static void main( String%5B%5D args ) %7B%0A        Scanner stdin = new Scanner(System.in);%0A%0A        while (true) %7B%0A            int a = stdin.nextInt();%0A            int b = stdin.nextInt();%0A            if (a == 0 && b == 0) %7B%0A                break;%0A            %7D%0A%0A            Multiplication mult = new Multiplication(a, b);%0A            mult.draw();%0A        %7D%0A    %7D%0A%7D%0A

Add preliminary Mulitplication solution