print <<'END';

Func void printmat(name, m)
    String name;
    Matrix m;
{
    Integer k, j;
    Integer row, col;

    {row, col}= size(m);
    printf("# %s  (%d x %d) ------------ \n",name, row, col);
    for(k=1; k<=row; k++){
	printf("# ");
	for(j=1; j<=col; j++){
	    printf("%g ",m(k,j));
	}
	printf("\n");
    }
    printf("# -------------------\n");
}

Func void rem_prm_output(){
END

while(<>){
    chomp;
    ($dummy, $name,$class) =  split(/ +/);
    unless ( $name =~ /^((Name)|()|(ans))$/ ){
	if ($class eq "Re_Number"){
	    print 'printf("# '.$name.' = %g\n",'.$name.');'."\n";
        }elsif ($class eq "Integer"){
	    print 'printf("# '.$name.' = %d\n",'.$name.');'."\n";
        }elsif ( ($class eq "Re_Matrix") || ($class eq "Re_Array") ){
	    print "printmat(\"$name\",Matrix($name));\n";
        }else{
	    print 'printf("# '.$name.' : '.$class.'\n");'."\n";
        }
    }
}

print <<END;
}
END
