int b=stdin;int g(int m){return m<10?m+48:m+55;}string f(int n){return format(" %c",n<b?32:g((int)(n/b)))+format("%c",g(n%b));}for(int i;++i<b;){for(int j;++j<b;)write(f(i*j),none);write();}
Note that non-ascii characters in the above source code will be escaped (such as \x9f).