BEGIN { 
	print 3**2;
	print -3**2;
	print (-3)**2;
	print 3**2**3**2;
	print -3**2**-3**2;
	print (-3)**2**(-3)**2;
	print 3**-2**3**-2;;
	print -2 ** 3;
	print -2 ** -3;

        print 0 ** 0;
        print 0 ** 1;
        #print 0 ** -1;
        print -1 ** 4;
        print -1 ** 5;
	
	print "-------------------";

	print 3.0 ** 2;
	print 3.0 ** -2;
	print -2.0 ** 3;
	print -2.0 ** -3;

        print 0.0 ** 0;
        print 0.0 ** 1;
        #print 0.0 ** -1;
        print -1.0 ** 4;
        print -1.0 ** 5;

	print -2.12 ** 3;
	print 2.12 ** -3;
	print -12.12 ** 3;
	print 12.12 ** -3;

	print 0.000000001 ** 30;
	print 0.000000002 ** 30;
        print 0.000000000000000000000000000000000000000000000000000000001 ** 30;
        print 0.000000000000000000000000000000000000000000000000000000002 ** 30;
	
	print "-------------------";
}