Visualise long multiplication with ASCII art The challenge

Write a program that takes two integers from standard input, separated by a comma, and then prints a visualisation of long multiplication of those two integers to standard output.

Eg: 

Input

14, 11


Program output

     14
    x11
   _____
     14
    14
  ______
    154


Input

-7, 20


Program output

     -7
    x20
   _____
     00
    14
   _____
   -140


Assume always correct inputs and numbers in the range [-999, 999]

Winning criteria

Shortest code wins!
Mathematica 213 217 197 193 186 184 193 184 177
Code
a_~g~b_ := 
With[{e = IntegerDigits@b}, Column[Flatten@{a, UnderBar[&quot;x &quot; &lt;&gt; IntegerString[b]], 
Table[Row @@ {PadRight[{a Reverse[e][[i]]}, i, &quot; &quot;]}, {i, Length@e}], OverBar[a b]}, 
Alignment -&gt; Right]]

Usage
g[845, 921]