//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

function write(v) { WScript.Echo(v + ""); }

function foo() {}

write(+0.0 * '');
write(+0.0 * 0xa);
write(+0.0 * 04);
write(+0.0 * 'hello');
write(+0.0 * 'hel' + 'lo');
write(+0.0 * String(''));
write(+0.0 * String('hello'));
write(+0.0 * String('h' + 'ello'));
write(+0.0 * new String(''));
write(+0.0 * new String('hello'));
write(+0.0 * new String('he' + 'llo'));
write(+0.0 * new Object());
write(+0.0 * new Object());
write(+0.0 * [1, 2, 3]);
write(+0.0 * [1 ,2 , 3]);
write(+0.0 * new Array(3));
write(+0.0 * Array(3));
write(+0.0 * new Array(1 ,2 ,3));
write(+0.0 * Array(1));
write(+0.0 * foo);
write(1 * undefined);
write(1 * null);
write(1 * true);
write(1 * false);
write(1 * Boolean(true));
write(1 * Boolean(false));
write(1 * new Boolean(true));
write(1 * new Boolean(false));
write(1 * NaN);
write(1 * +0);
write(1 * -0);
write(1 * 0);
write(1 * 0.0);
write(1 * -0.0);
write(1 * +0.0);
write(1 * 1);
write(1 * 10);
write(1 * 10.0);
write(1 * 10.1);
write(1 * -1);
write(1 * -10);
write(1 * -10.0);
write(1 * -10.1);
write(1 * Number.MAX_VALUE);
write(1 * Number.MIN_VALUE);
write(1 * Number.NaN);
write(1 * Number.POSITIVE_INFINITY);
write(1 * Number.NEGATIVE_INFINITY);
write(1 * new Number(NaN));
write(1 * new Number(+0));
write(1 * new Number(-0));
write(1 * new Number(0));
write(1 * new Number(0.0));
write(1 * new Number(-0.0));
write(1 * new Number(+0.0));
write(1 * new Number(1));
write(1 * new Number(10));
write(1 * new Number(10.0));
write(1 * new Number(10.1));
write(1 * new Number(-1));
write(1 * new Number(-10));
write(1 * new Number(-10.0));
write(1 * new Number(-10.1));
write(1 * new Number(Number.MAX_VALUE));
write(1 * new Number(Number.MIN_VALUE));
write(1 * new Number(Number.NaN));
write(1 * new Number(Number.POSITIVE_INFINITY));
write(1 * new Number(Number.NEGATIVE_INFINITY));
write(1 * '');
write(1 * 0xa);
write(1 * 04);
write(1 * 'hello');
write(1 * 'hel' + 'lo');
write(1 * String(''));
write(1 * String('hello'));
write(1 * String('h' + 'ello'));
write(1 * new String(''));
write(1 * new String('hello'));
write(1 * new String('he' + 'llo'));
write(1 * new Object());
write(1 * new Object());
write(1 * [1, 2, 3]);
write(1 * [1 ,2 , 3]);
write(1 * new Array(3));
write(1 * Array(3));
write(1 * new Array(1 ,2 ,3));
write(1 * Array(1));
write(1 * foo);
write(10 * undefined);
write(10 * null);
write(10 * true);
write(10 * false);
write(10 * Boolean(true));
write(10 * Boolean(false));
write(10 * new Boolean(true));
write(10 * new Boolean(false));
write(10 * NaN);
write(10 * +0);
write(10 * -0);
write(10 * 0);
write(10 * 0.0);
write(10 * -0.0);
write(10 * +0.0);
write(10 * 1);
write(10 * 10);
write(10 * 10.0);
write(10 * 10.1);
write(10 * -1);
write(10 * -10);
write(10 * -10.0);
write(10 * -10.1);
write(10 * Number.MAX_VALUE);
write(10 * Number.MIN_VALUE);
write(10 * Number.NaN);
write(10 * Number.POSITIVE_INFINITY);
write(10 * Number.NEGATIVE_INFINITY);
write(10 * new Number(NaN));
write(10 * new Number(+0));
write(10 * new Number(-0));
write(10 * new Number(0));
write(10 * new Number(0.0));
write(10 * new Number(-0.0));
write(10 * new Number(+0.0));
write(10 * new Number(1));
write(10 * new Number(10));
write(10 * new Number(10.0));
write(10 * new Number(10.1));
write(10 * new Number(-1));
write(10 * new Number(-10));
write(10 * new Number(-10.0));
write(10 * new Number(-10.1));
write(10 * new Number(Number.MAX_VALUE));
write(10 * new Number(Number.MIN_VALUE));
write(10 * new Number(Number.NaN));
write(10 * new Number(Number.POSITIVE_INFINITY));
write(10 * new Number(Number.NEGATIVE_INFINITY));
write(10 * '');
write(10 * 0xa);
write(10 * 04);
write(10 * 'hello');
write(10 * 'hel' + 'lo');
write(10 * String(''));
write(10 * String('hello'));
write(10 * String('h' + 'ello'));
write(10 * new String(''));
write(10 * new String('hello'));
write(10 * new String('he' + 'llo'));
write(10 * new Object());
write(10 * new Object());
write(10 * [1, 2, 3]);
write(10 * [1 ,2 , 3]);
write(10 * new Array(3));
write(10 * Array(3));
write(10 * new Array(1 ,2 ,3));
write(10 * Array(1));
write(10 * foo);
write(10.0 * undefined);
write(10.0 * null);
write(10.0 * true);
write(10.0 * false);
write(10.0 * Boolean(true));
write(10.0 * Boolean(false));
write(10.0 * new Boolean(true));
write(10.0 * new Boolean(false));
write(10.0 * NaN);
write(10.0 * +0);
write(10.0 * -0);
write(10.0 * 0);
write(10.0 * 0.0);
write(10.0 * -0.0);
write(10.0 * +0.0);
write(10.0 * 1);
write(10.0 * 10);
write(10.0 * 10.0);
write(10.0 * 10.1);
write(10.0 * -1);
write(10.0 * -10);
write(10.0 * -10.0);
write(10.0 * -10.1);
write(10.0 * Number.MAX_VALUE);
write(10.0 * Number.MIN_VALUE);
write(10.0 * Number.NaN);
write(10.0 * Number.POSITIVE_INFINITY);
write(10.0 * Number.NEGATIVE_INFINITY);
write(10.0 * new Number(NaN));
write(10.0 * new Number(+0));
write(10.0 * new Number(-0));
write(10.0 * new Number(0));
write(10.0 * new Number(0.0));
write(10.0 * new Number(-0.0));
write(10.0 * new Number(+0.0));
write(10.0 * new Number(1));
write(10.0 * new Number(10));
write(10.0 * new Number(10.0));
write(10.0 * new Number(10.1));
write(10.0 * new Number(-1));
write(10.0 * new Number(-10));
write(10.0 * new Number(-10.0));
write(10.0 * new Number(-10.1));
write(10.0 * new Number(Number.MAX_VALUE));
write(10.0 * new Number(Number.MIN_VALUE));
write(10.0 * new Number(Number.NaN));
write(10.0 * new Number(Number.POSITIVE_INFINITY));
write(10.0 * new Number(Number.NEGATIVE_INFINITY));
write(10.0 * '');
write(10.0 * 0xa);
write(10.0 * 04);
write(10.0 * 'hello');
write(10.0 * 'hel' + 'lo');
write(10.0 * String(''));
write(10.0 * String('hello'));
write(10.0 * String('h' + 'ello'));
write(10.0 * new String(''));
write(10.0 * new String('hello'));
write(10.0 * new String('he' + 'llo'));
write(10.0 * new Object());
write(10.0 * new Object());
write(10.0 * [1, 2, 3]);
write(10.0 * [1 ,2 , 3]);
write(10.0 * new Array(3));
write(10.0 * Array(3));
write(10.0 * new Array(1 ,2 ,3));
write(10.0 * Array(1));
write(10.0 * foo);
write(10.1 * undefined);
write(10.1 * null);
write(10.1 * true);
write(10.1 * false);
write(10.1 * Boolean(true));
write(10.1 * Boolean(false));
write(10.1 * new Boolean(true));
write(10.1 * new Boolean(false));
write(10.1 * NaN);
write(10.1 * +0);
write(10.1 * -0);
write(10.1 * 0);
write(10.1 * 0.0);
write(10.1 * -0.0);
write(10.1 * +0.0);
write(10.1 * 1);
write(10.1 * 10);
write(10.1 * 10.0);
write(10.1 * 10.1);
write(10.1 * -1);
write(10.1 * -10);
write(10.1 * -10.0);
write(10.1 * -10.1);
write(10.1 * Number.MAX_VALUE);
write(10.1 * Number.MIN_VALUE);
write(10.1 * Number.NaN);
write(10.1 * Number.POSITIVE_INFINITY);
write(10.1 * Number.NEGATIVE_INFINITY);
write(10.1 * new Number(NaN));
write(10.1 * new Number(+0));
write(10.1 * new Number(-0));
write(10.1 * new Number(0));
write(10.1 * new Number(0.0));
write(10.1 * new Number(-0.0));
write(10.1 * new Number(+0.0));
write(10.1 * new Number(1));
write(10.1 * new Number(10));
write(10.1 * new Number(10.0));
write(10.1 * new Number(10.1));
write(10.1 * new Number(-1));
write(10.1 * new Number(-10));
write(10.1 * new Number(-10.0));
write(10.1 * new Number(-10.1));
write(10.1 * new Number(Number.MAX_VALUE));
write(10.1 * new Number(Number.MIN_VALUE));
write(10.1 * new Number(Number.NaN));
write(10.1 * new Number(Number.POSITIVE_INFINITY));
write(10.1 * new Number(Number.NEGATIVE_INFINITY));
write(10.1 * '');
write(10.1 * 0xa);
write(10.1 * 04);
write(10.1 * 'hello');
write(10.1 * 'hel' + 'lo');
write(10.1 * String(''));
write(10.1 * String('hello'));
write(10.1 * String('h' + 'ello'));
write(10.1 * new String(''));
write(10.1 * new String('hello'));
write(10.1 * new String('he' + 'llo'));
write(10.1 * new Object());
write(10.1 * new Object());
write(10.1 * [1, 2, 3]);
write(10.1 * [1 ,2 , 3]);
write(10.1 * new Array(3));
write(10.1 * Array(3));
write(10.1 * new Array(1 ,2 ,3));
write(10.1 * Array(1));
write(10.1 * foo);
write(-1 * undefined);
write(-1 * null);
write(-1 * true);
write(-1 * false);
write(-1 * Boolean(true));
write(-1 * Boolean(false));
write(-1 * new Boolean(true));
write(-1 * new Boolean(false));
write(-1 * NaN);
write(-1 * +0);
write(-1 * -0);
write(-1 * 0);
write(-1 * 0.0);
write(-1 * -0.0);
write(-1 * +0.0);
write(-1 * 1);
write(-1 * 10);
write(-1 * 10.0);
write(-1 * 10.1);
write(-1 * -1);
write(-1 * -10);
write(-1 * -10.0);
write(-1 * -10.1);
write(-1 * Number.MAX_VALUE);
write(-1 * Number.MIN_VALUE);
write(-1 * Number.NaN);
write(-1 * Number.POSITIVE_INFINITY);
write(-1 * Number.NEGATIVE_INFINITY);
write(-1 * new Number(NaN));
write(-1 * new Number(+0));
write(-1 * new Number(-0));
write(-1 * new Number(0));
write(-1 * new Number(0.0));
write(-1 * new Number(-0.0));
write(-1 * new Number(+0.0));
write(-1 * new Number(1));
write(-1 * new Number(10));
write(-1 * new Number(10.0));
write(-1 * new Number(10.1));
write(-1 * new Number(-1));
write(-1 * new Number(-10));
write(-1 * new Number(-10.0));
write(-1 * new Number(-10.1));
write(-1 * new Number(Number.MAX_VALUE));
write(-1 * new Number(Number.MIN_VALUE));
write(-1 * new Number(Number.NaN));
write(-1 * new Number(Number.POSITIVE_INFINITY));
write(-1 * new Number(Number.NEGATIVE_INFINITY));
write(-1 * '');
write(-1 * 0xa);
write(-1 * 04);
write(-1 * 'hello');
write(-1 * 'hel' + 'lo');
write(-1 * String(''));
write(-1 * String('hello'));
write(-1 * String('h' + 'ello'));
write(-1 * new String(''));
write(-1 * new String('hello'));
write(-1 * new String('he' + 'llo'));
write(-1 * new Object());
write(-1 * new Object());
write(-1 * [1, 2, 3]);
write(-1 * [1 ,2 , 3]);
write(-1 * new Array(3));
write(-1 * Array(3));
write(-1 * new Array(1 ,2 ,3));
write(-1 * Array(1));
write(-1 * foo);
write(-10 * undefined);
write(-10 * null);
write(-10 * true);
write(-10 * false);
write(-10 * Boolean(true));
write(-10 * Boolean(false));
write(-10 * new Boolean(true));
write(-10 * new Boolean(false));
write(-10 * NaN);
write(-10 * +0);
write(-10 * -0);
write(-10 * 0);
write(-10 * 0.0);
write(-10 * -0.0);
write(-10 * +0.0);
write(-10 * 1);
write(-10 * 10);
write(-10 * 10.0);
write(-10 * 10.1);
write(-10 * -1);
write(-10 * -10);
write(-10 * -10.0);
write(-10 * -10.1);
write(-10 * Number.MAX_VALUE);
write(-10 * Number.MIN_VALUE);
write(-10 * Number.NaN);
write(-10 * Number.POSITIVE_INFINITY);
write(-10 * Number.NEGATIVE_INFINITY);
write(-10 * new Number(NaN));
write(-10 * new Number(+0));
write(-10 * new Number(-0));
write(-10 * new Number(0));
write(-10 * new Number(0.0));
write(-10 * new Number(-0.0));
write(-10 * new Number(+0.0));
write(-10 * new Number(1));
write(-10 * new Number(10));
write(-10 * new Number(10.0));
write(-10 * new Number(10.1));
write(-10 * new Number(-1));
write(-10 * new Number(-10));
write(-10 * new Number(-10.0));
write(-10 * new Number(-10.1));
write(-10 * new Number(Number.MAX_VALUE));
write(-10 * new Number(Number.MIN_VALUE));
write(-10 * new Number(Number.NaN));
write(-10 * new Number(Number.POSITIVE_INFINITY));
write(-10 * new Number(Number.NEGATIVE_INFINITY));
write(-10 * '');
write(-10 * 0xa);
write(-10 * 04);
write(-10 * 'hello');
write(-10 * 'hel' + 'lo');
write(-10 * String(''));
write(-10 * String('hello'));
write(-10 * String('h' + 'ello'));
write(-10 * new String(''));
write(-10 * new String('hello'));
write(-10 * new String('he' + 'llo'));
write(-10 * new Object());
write(-10 * new Object());
write(-10 * [1, 2, 3]);
write(-10 * [1 ,2 , 3]);
write(-10 * new Array(3));
write(-10 * Array(3));
write(-10 * new Array(1 ,2 ,3));
write(-10 * Array(1));
write(-10 * foo);
write(-10.0 * undefined);
write(-10.0 * null);
write(-10.0 * true);
write(-10.0 * false);
write(-10.0 * Boolean(true));
write(-10.0 * Boolean(false));
write(-10.0 * new Boolean(true));
write(-10.0 * new Boolean(false));
write(-10.0 * NaN);
write(-10.0 * +0);
write(-10.0 * -0);
write(-10.0 * 0);
write(-10.0 * 0.0);
write(-10.0 * -0.0);
write(-10.0 * +0.0);
write(-10.0 * 1);
write(-10.0 * 10);
write(-10.0 * 10.0);
write(-10.0 * 10.1);
write(-10.0 * -1);
write(-10.0 * -10);
write(-10.0 * -10.0);
write(-10.0 * -10.1);
write(-10.0 * Number.MAX_VALUE);
write(-10.0 * Number.MIN_VALUE);
write(-10.0 * Number.NaN);
write(-10.0 * Number.POSITIVE_INFINITY);
write(-10.0 * Number.NEGATIVE_INFINITY);
write(-10.0 * new Number(NaN));
write(-10.0 * new Number(+0));
write(-10.0 * new Number(-0));
write(-10.0 * new Number(0));
write(-10.0 * new Number(0.0));
write(-10.0 * new Number(-0.0));
write(-10.0 * new Number(+0.0));
write(-10.0 * new Number(1));
write(-10.0 * new Number(10));
write(-10.0 * new Number(10.0));
write(-10.0 * new Number(10.1));
write(-10.0 * new Number(-1));
write(-10.0 * new Number(-10));
write(-10.0 * new Number(-10.0));
write(-10.0 * new Number(-10.1));
write(-10.0 * new Number(Number.MAX_VALUE));
write(-10.0 * new Number(Number.MIN_VALUE));
write(-10.0 * new Number(Number.NaN));
write(-10.0 * new Number(Number.POSITIVE_INFINITY));
write(-10.0 * new Number(Number.NEGATIVE_INFINITY));
write(-10.0 * '');
write(-10.0 * 0xa);
write(-10.0 * 04);
write(-10.0 * 'hello');
write(-10.0 * 'hel' + 'lo');
write(-10.0 * String(''));
write(-10.0 * String('hello'));
write(-10.0 * String('h' + 'ello'));
write(-10.0 * new String(''));
write(-10.0 * new String('hello'));
write(-10.0 * new String('he' + 'llo'));
write(-10.0 * new Object());
write(-10.0 * new Object());
write(-10.0 * [1, 2, 3]);
write(-10.0 * [1 ,2 , 3]);
write(-10.0 * new Array(3));
write(-10.0 * Array(3));
write(-10.0 * new Array(1 ,2 ,3));
write(-10.0 * Array(1));
write(-10.0 * foo);
write(-10.1 * undefined);
write(-10.1 * null);
write(-10.1 * true);
write(-10.1 * false);
write(-10.1 * Boolean(true));
write(-10.1 * Boolean(false));
write(-10.1 * new Boolean(true));
write(-10.1 * new Boolean(false));
write(-10.1 * NaN);
write(-10.1 * +0);
write(-10.1 * -0);
write(-10.1 * 0);
write(-10.1 * 0.0);
write(-10.1 * -0.0);
write(-10.1 * +0.0);
write(-10.1 * 1);
write(-10.1 * 10);
write(-10.1 * 10.0);
write(-10.1 * 10.1);
write(-10.1 * -1);
write(-10.1 * -10);
write(-10.1 * -10.0);
write(-10.1 * -10.1);
write(-10.1 * Number.MAX_VALUE);
write(-10.1 * Number.MIN_VALUE);
write(-10.1 * Number.NaN);
write(-10.1 * Number.POSITIVE_INFINITY);
write(-10.1 * Number.NEGATIVE_INFINITY);
write(-10.1 * new Number(NaN));
write(-10.1 * new Number(+0));
write(-10.1 * new Number(-0));
write(-10.1 * new Number(0));
write(-10.1 * new Number(0.0));
write(-10.1 * new Number(-0.0));
write(-10.1 * new Number(+0.0));
write(-10.1 * new Number(1));
write(-10.1 * new Number(10));
write(-10.1 * new Number(10.0));
write(-10.1 * new Number(10.1));
write(-10.1 * new Number(-1));
write(-10.1 * new Number(-10));
write(-10.1 * new Number(-10.0));
write(-10.1 * new Number(-10.1));
write(-10.1 * new Number(Number.MAX_VALUE));
write(-10.1 * new Number(Number.MIN_VALUE));
write(-10.1 * new Number(Number.NaN));
write(-10.1 * new Number(Number.POSITIVE_INFINITY));
write(-10.1 * new Number(Number.NEGATIVE_INFINITY));
write(-10.1 * '');
write(-10.1 * 0xa);
write(-10.1 * 04);
write(-10.1 * 'hello');
write(-10.1 * 'hel' + 'lo');
write(-10.1 * String(''));
write(-10.1 * String('hello'));
write(-10.1 * String('h' + 'ello'));
write(-10.1 * new String(''));
write(-10.1 * new String('hello'));
write(-10.1 * new String('he' + 'llo'));
write(-10.1 * new Object());
write(-10.1 * new Object());
write(-10.1 * [1, 2, 3]);
write(-10.1 * [1 ,2 , 3]);
write(-10.1 * new Array(3));
write(-10.1 * Array(3));
write(-10.1 * new Array(1 ,2 ,3));
write(-10.1 * Array(1));
write(-10.1 * foo);
write(Number.MAX_VALUE * undefined);
write(Number.MAX_VALUE * null);
write(Number.MAX_VALUE * true);
write(Number.MAX_VALUE * false);
write(Number.MAX_VALUE * Boolean(true));
write(Number.MAX_VALUE * Boolean(false));
write(Number.MAX_VALUE * new Boolean(true));
write(Number.MAX_VALUE * new Boolean(false));
write(Number.MAX_VALUE * NaN);
write(Number.MAX_VALUE * +0);
write(Number.MAX_VALUE * -0);
write(Number.MAX_VALUE * 0);
write(Number.MAX_VALUE * 0.0);
write(Number.MAX_VALUE * -0.0);
write(Number.MAX_VALUE * +0.0);
write(Number.MAX_VALUE * 1);
write(Number.MAX_VALUE * 10);
write(Number.MAX_VALUE * 10.0);
write(Number.MAX_VALUE * 10.1);
write(Number.MAX_VALUE * -1);
write(Number.MAX_VALUE * -10);
write(Number.MAX_VALUE * -10.0);
write(Number.MAX_VALUE * -10.1);
write(Number.MAX_VALUE * Number.MAX_VALUE);
write(Number.MAX_VALUE * Number.MIN_VALUE);
write(Number.MAX_VALUE * Number.NaN);
write(Number.MAX_VALUE * Number.POSITIVE_INFINITY);
write(Number.MAX_VALUE * Number.NEGATIVE_INFINITY);
write(Number.MAX_VALUE * new Number(NaN));
write(Number.MAX_VALUE * new Number(+0));
write(Number.MAX_VALUE * new Number(-0));
write(Number.MAX_VALUE * new Number(0));
write(Number.MAX_VALUE * new Number(0.0));
write(Number.MAX_VALUE * new Number(-0.0));
write(Number.MAX_VALUE * new Number(+0.0));
write(Number.MAX_VALUE * new Number(1));
write(Number.MAX_VALUE * new Number(10));
write(Number.MAX_VALUE * new Number(10.0));
write(Number.MAX_VALUE * new Number(10.1));
write(Number.MAX_VALUE * new Number(-1));
write(Number.MAX_VALUE * new Number(-10));
write(Number.MAX_VALUE * new Number(-10.0));
write(Number.MAX_VALUE * new Number(-10.1));
write(Number.MAX_VALUE * new Number(Number.MAX_VALUE));
write(Number.MAX_VALUE * new Number(Number.MIN_VALUE));
write(Number.MAX_VALUE * new Number(Number.NaN));
write(Number.MAX_VALUE * new Number(Number.POSITIVE_INFINITY));
write(Number.MAX_VALUE * new Number(Number.NEGATIVE_INFINITY));
write(Number.MAX_VALUE * '');
write(Number.MAX_VALUE * 0xa);
write(Number.MAX_VALUE * 04);
write(Number.MAX_VALUE * 'hello');
write(Number.MAX_VALUE * 'hel' + 'lo');
write(Number.MAX_VALUE * String(''));
write(Number.MAX_VALUE * String('hello'));
write(Number.MAX_VALUE * String('h' + 'ello'));
write(Number.MAX_VALUE * new String(''));
write(Number.MAX_VALUE * new String('hello'));
write(Number.MAX_VALUE * new String('he' + 'llo'));
write(Number.MAX_VALUE * new Object());
write(Number.MAX_VALUE * new Object());
write(Number.MAX_VALUE * [1, 2, 3]);
write(Number.MAX_VALUE * [1 ,2 , 3]);
write(Number.MAX_VALUE * new Array(3));
write(Number.MAX_VALUE * Array(3));
write(Number.MAX_VALUE * new Array(1 ,2 ,3));
write(Number.MAX_VALUE * Array(1));
write(Number.MAX_VALUE * foo);
write(Number.MIN_VALUE * undefined);
write(Number.MIN_VALUE * null);
write(Number.MIN_VALUE * true);
write(Number.MIN_VALUE * false);
write(Number.MIN_VALUE * Boolean(true));
write(Number.MIN_VALUE * Boolean(false));
write(Number.MIN_VALUE * new Boolean(true));
write(Number.MIN_VALUE * new Boolean(false));
write(Number.MIN_VALUE * NaN);
write(Number.MIN_VALUE * +0);
write(Number.MIN_VALUE * -0);
write(Number.MIN_VALUE * 0);
write(Number.MIN_VALUE * 0.0);
write(Number.MIN_VALUE * -0.0);
write(Number.MIN_VALUE * +0.0);
write(Number.MIN_VALUE * 1);
write(Number.MIN_VALUE * 10);
write(Number.MIN_VALUE * 10.0);
write(Number.MIN_VALUE * 10.1);
write(Number.MIN_VALUE * -1);
write(Number.MIN_VALUE * -10);
write(Number.MIN_VALUE * -10.0);
write(Number.MIN_VALUE * -10.1);
write(Number.MIN_VALUE * Number.MAX_VALUE);
write(Number.MIN_VALUE * Number.MIN_VALUE);
write(Number.MIN_VALUE * Number.NaN);
write(Number.MIN_VALUE * Number.POSITIVE_INFINITY);
write(Number.MIN_VALUE * Number.NEGATIVE_INFINITY);
write(Number.MIN_VALUE * new Number(NaN));
write(Number.MIN_VALUE * new Number(+0));
write(Number.MIN_VALUE * new Number(-0));
write(Number.MIN_VALUE * new Number(0));
write(Number.MIN_VALUE * new Number(0.0));
write(Number.MIN_VALUE * new Number(-0.0));
write(Number.MIN_VALUE * new Number(+0.0));
write(Number.MIN_VALUE * new Number(1));
write(Number.MIN_VALUE * new Number(10));
write(Number.MIN_VALUE * new Number(10.0));
write(Number.MIN_VALUE * new Number(10.1));
write(Number.MIN_VALUE * new Number(-1));
write(Number.MIN_VALUE * new Number(-10));
write(Number.MIN_VALUE * new Number(-10.0));
write(Number.MIN_VALUE * new Number(-10.1));
write(Number.MIN_VALUE * new Number(Number.MAX_VALUE));
write(Number.MIN_VALUE * new Number(Number.MIN_VALUE));
write(Number.MIN_VALUE * new Number(Number.NaN));
write(Number.MIN_VALUE * new Number(Number.POSITIVE_INFINITY));
write(Number.MIN_VALUE * new Number(Number.NEGATIVE_INFINITY));
write(Number.MIN_VALUE * '');
write(Number.MIN_VALUE * 0xa);
write(Number.MIN_VALUE * 04);
write(Number.MIN_VALUE * 'hello');
write(Number.MIN_VALUE * 'hel' + 'lo');
write(Number.MIN_VALUE * String(''));
write(Number.MIN_VALUE * String('hello'));
write(Number.MIN_VALUE * String('h' + 'ello'));
write(Number.MIN_VALUE * new String(''));
write(Number.MIN_VALUE * new String('hello'));
write(Number.MIN_VALUE * new String('he' + 'llo'));
write(Number.MIN_VALUE * new Object());
write(Number.MIN_VALUE * new Object());
write(Number.MIN_VALUE * [1, 2, 3]);
write(Number.MIN_VALUE * [1 ,2 , 3]);
write(Number.MIN_VALUE * new Array(3));
write(Number.MIN_VALUE * Array(3));
write(Number.MIN_VALUE * new Array(1 ,2 ,3));
write(Number.MIN_VALUE * Array(1));
write(Number.MIN_VALUE * foo);
write(Number.NaN * undefined);
write(Number.NaN * null);
write(Number.NaN * true);
write(Number.NaN * false);
write(Number.NaN * Boolean(true));
write(Number.NaN * Boolean(false));
write(Number.NaN * new Boolean(true));
write(Number.NaN * new Boolean(false));
write(Number.NaN * NaN);
write(Number.NaN * +0);
write(Number.NaN * -0);
write(Number.NaN * 0);
write(Number.NaN * 0.0);
write(Number.NaN * -0.0);
write(Number.NaN * +0.0);
write(Number.NaN * 1);
write(Number.NaN * 10);
write(Number.NaN * 10.0);
write(Number.NaN * 10.1);
write(Number.NaN * -1);
write(Number.NaN * -10);
write(Number.NaN * -10.0);
write(Number.NaN * -10.1);
write(Number.NaN * Number.MAX_VALUE);
write(Number.NaN * Number.MIN_VALUE);
write(Number.NaN * Number.NaN);
write(Number.NaN * Number.POSITIVE_INFINITY);
write(Number.NaN * Number.NEGATIVE_INFINITY);
write(Number.NaN * new Number(NaN));
write(Number.NaN * new Number(+0));
write(Number.NaN * new Number(-0));
write(Number.NaN * new Number(0));
write(Number.NaN * new Number(0.0));
write(Number.NaN * new Number(-0.0));
write(Number.NaN * new Number(+0.0));
write(Number.NaN * new Number(1));
write(Number.NaN * new Number(10));
write(Number.NaN * new Number(10.0));
write(Number.NaN * new Number(10.1));
write(Number.NaN * new Number(-1));
write(Number.NaN * new Number(-10));
write(Number.NaN * new Number(-10.0));
write(Number.NaN * new Number(-10.1));
write(Number.NaN * new Number(Number.MAX_VALUE));
write(Number.NaN * new Number(Number.MIN_VALUE));
write(Number.NaN * new Number(Number.NaN));
write(Number.NaN * new Number(Number.POSITIVE_INFINITY));
write(Number.NaN * new Number(Number.NEGATIVE_INFINITY));
write(Number.NaN * '');
write(Number.NaN * 0xa);
write(Number.NaN * 04);
write(Number.NaN * 'hello');
write(Number.NaN * 'hel' + 'lo');
write(Number.NaN * String(''));
write(Number.NaN * String('hello'));
write(Number.NaN * String('h' + 'ello'));
write(Number.NaN * new String(''));
write(Number.NaN * new String('hello'));
write(Number.NaN * new String('he' + 'llo'));
write(Number.NaN * new Object());
write(Number.NaN * new Object());
write(Number.NaN * [1, 2, 3]);
write(Number.NaN * [1 ,2 , 3]);
write(Number.NaN * new Array(3));
write(Number.NaN * Array(3));
write(Number.NaN * new Array(1 ,2 ,3));
write(Number.NaN * Array(1));
write(Number.NaN * foo);
write(Number.POSITIVE_INFINITY * undefined);
write(Number.POSITIVE_INFINITY * null);
write(Number.POSITIVE_INFINITY * true);
write(Number.POSITIVE_INFINITY * false);
write(Number.POSITIVE_INFINITY * Boolean(true));
write(Number.POSITIVE_INFINITY * Boolean(false));
write(Number.POSITIVE_INFINITY * new Boolean(true));
write(Number.POSITIVE_INFINITY * new Boolean(false));
write(Number.POSITIVE_INFINITY * NaN);
write(Number.POSITIVE_INFINITY * +0);
write(Number.POSITIVE_INFINITY * -0);
write(Number.POSITIVE_INFINITY * 0);
write(Number.POSITIVE_INFINITY * 0.0);
write(Number.POSITIVE_INFINITY * -0.0);
write(Number.POSITIVE_INFINITY * +0.0);
write(Number.POSITIVE_INFINITY * 1);
write(Number.POSITIVE_INFINITY * 10);
write(Number.POSITIVE_INFINITY * 10.0);
write(Number.POSITIVE_INFINITY * 10.1);
write(Number.POSITIVE_INFINITY * -1);
write(Number.POSITIVE_INFINITY * -10);
write(Number.POSITIVE_INFINITY * -10.0);
write(Number.POSITIVE_INFINITY * -10.1);
write(Number.POSITIVE_INFINITY * Number.MAX_VALUE);
write(Number.POSITIVE_INFINITY * Number.MIN_VALUE);
write(Number.POSITIVE_INFINITY * Number.NaN);
write(Number.POSITIVE_INFINITY * Number.POSITIVE_INFINITY);
write(Number.POSITIVE_INFINITY * Number.NEGATIVE_INFINITY);
write(Number.POSITIVE_INFINITY * new Number(NaN));
write(Number.POSITIVE_INFINITY * new Number(+0));
write(Number.POSITIVE_INFINITY * new Number(-0));
write(Number.POSITIVE_INFINITY * new Number(0));
write(Number.POSITIVE_INFINITY * new Number(0.0));
write(Number.POSITIVE_INFINITY * new Number(-0.0));
write(Number.POSITIVE_INFINITY * new Number(+0.0));
write(Number.POSITIVE_INFINITY * new Number(1));
write(Number.POSITIVE_INFINITY * new Number(10));
write(Number.POSITIVE_INFINITY * new Number(10.0));
write(Number.POSITIVE_INFINITY * new Number(10.1));
write(Number.POSITIVE_INFINITY * new Number(-1));
write(Number.POSITIVE_INFINITY * new Number(-10));
write(Number.POSITIVE_INFINITY * new Number(-10.0));
write(Number.POSITIVE_INFINITY * new Number(-10.1));
write(Number.POSITIVE_INFINITY * new Number(Number.MAX_VALUE));
write(Number.POSITIVE_INFINITY * new Number(Number.MIN_VALUE));
write(Number.POSITIVE_INFINITY * new Number(Number.NaN));
write(Number.POSITIVE_INFINITY * new Number(Number.POSITIVE_INFINITY));
write(Number.POSITIVE_INFINITY * new Number(Number.NEGATIVE_INFINITY));
write(Number.POSITIVE_INFINITY * '');
write(Number.POSITIVE_INFINITY * 0xa);
write(Number.POSITIVE_INFINITY * 04);
write(Number.POSITIVE_INFINITY * 'hello');
write(Number.POSITIVE_INFINITY * 'hel' + 'lo');
write(Number.POSITIVE_INFINITY * String(''));
write(Number.POSITIVE_INFINITY * String('hello'));
write(Number.POSITIVE_INFINITY * String('h' + 'ello'));
write(Number.POSITIVE_INFINITY * new String(''));
write(Number.POSITIVE_INFINITY * new String('hello'));
write(Number.POSITIVE_INFINITY * new String('he' + 'llo'));
write(Number.POSITIVE_INFINITY * new Object());
write(Number.POSITIVE_INFINITY * new Object());
write(Number.POSITIVE_INFINITY * [1, 2, 3]);
write(Number.POSITIVE_INFINITY * [1 ,2 , 3]);
write(Number.POSITIVE_INFINITY * new Array(3));
write(Number.POSITIVE_INFINITY * Array(3));
write(Number.POSITIVE_INFINITY * new Array(1 ,2 ,3));
write(Number.POSITIVE_INFINITY * Array(1));
write(Number.POSITIVE_INFINITY * foo);
write(Number.NEGATIVE_INFINITY * undefined);
write(Number.NEGATIVE_INFINITY * null);
write(Number.NEGATIVE_INFINITY * true);
write(Number.NEGATIVE_INFINITY * false);
write(Number.NEGATIVE_INFINITY * Boolean(true));
write(Number.NEGATIVE_INFINITY * Boolean(false));
write(Number.NEGATIVE_INFINITY * new Boolean(true));
write(Number.NEGATIVE_INFINITY * new Boolean(false));
write(Number.NEGATIVE_INFINITY * NaN);
write(Number.NEGATIVE_INFINITY * +0);
write(Number.NEGATIVE_INFINITY * -0);
write(Number.NEGATIVE_INFINITY * 0);
write(Number.NEGATIVE_INFINITY * 0.0);
write(Number.NEGATIVE_INFINITY * -0.0);
write(Number.NEGATIVE_INFINITY * +0.0);
write(Number.NEGATIVE_INFINITY * 1);
write(Number.NEGATIVE_INFINITY * 10);
write(Number.NEGATIVE_INFINITY * 10.0);
write(Number.NEGATIVE_INFINITY * 10.1);
write(Number.NEGATIVE_INFINITY * -1);
write(Number.NEGATIVE_INFINITY * -10);
write(Number.NEGATIVE_INFINITY * -10.0);
write(Number.NEGATIVE_INFINITY * -10.1);
write(Number.NEGATIVE_INFINITY * Number.MAX_VALUE);
write(Number.NEGATIVE_INFINITY * Number.MIN_VALUE);
write(Number.NEGATIVE_INFINITY * Number.NaN);
write(Number.NEGATIVE_INFINITY * Number.POSITIVE_INFINITY);
write(Number.NEGATIVE_INFINITY * Number.NEGATIVE_INFINITY);
write(Number.NEGATIVE_INFINITY * new Number(NaN));
write(Number.NEGATIVE_INFINITY * new Number(+0));
write(Number.NEGATIVE_INFINITY * new Number(-0));
write(Number.NEGATIVE_INFINITY * new Number(0));
write(Number.NEGATIVE_INFINITY * new Number(0.0));
write(Number.NEGATIVE_INFINITY * new Number(-0.0));
write(Number.NEGATIVE_INFINITY * new Number(+0.0));
write(Number.NEGATIVE_INFINITY * new Number(1));
write(Number.NEGATIVE_INFINITY * new Number(10));
write(Number.NEGATIVE_INFINITY * new Number(10.0));
write(Number.NEGATIVE_INFINITY * new Number(10.1));
write(Number.NEGATIVE_INFINITY * new Number(-1));
write(Number.NEGATIVE_INFINITY * new Number(-10));
write(Number.NEGATIVE_INFINITY * new Number(-10.0));
write(Number.NEGATIVE_INFINITY * new Number(-10.1));
write(Number.NEGATIVE_INFINITY * new Number(Number.MAX_VALUE));
write(Number.NEGATIVE_INFINITY * new Number(Number.MIN_VALUE));
write(Number.NEGATIVE_INFINITY * new Number(Number.NaN));
write(Number.NEGATIVE_INFINITY * new Number(Number.POSITIVE_INFINITY));
write(Number.NEGATIVE_INFINITY * new Number(Number.NEGATIVE_INFINITY));
write(Number.NEGATIVE_INFINITY * '');
write(Number.NEGATIVE_INFINITY * 0xa);
write(Number.NEGATIVE_INFINITY * 04);
write(Number.NEGATIVE_INFINITY * 'hello');
write(Number.NEGATIVE_INFINITY * 'hel' + 'lo');
write(Number.NEGATIVE_INFINITY * String(''));
write(Number.NEGATIVE_INFINITY * String('hello'));
write(Number.NEGATIVE_INFINITY * String('h' + 'ello'));
write(Number.NEGATIVE_INFINITY * new String(''));
write(Number.NEGATIVE_INFINITY * new String('hello'));
write(Number.NEGATIVE_INFINITY * new String('he' + 'llo'));
write(Number.NEGATIVE_INFINITY * new Object());
write(Number.NEGATIVE_INFINITY * new Object());
write(Number.NEGATIVE_INFINITY * [1, 2, 3]);
write(Number.NEGATIVE_INFINITY * [1 ,2 , 3]);
write(Number.NEGATIVE_INFINITY * new Array(3));
write(Number.NEGATIVE_INFINITY * Array(3));
write(Number.NEGATIVE_INFINITY * new Array(1 ,2 ,3));
write(Number.NEGATIVE_INFINITY * Array(1));
write(Number.NEGATIVE_INFINITY * foo);
write(new Number(NaN) * undefined);
write(new Number(NaN) * null);
write(new Number(NaN) * true);
write(new Number(NaN) * false);
write(new Number(NaN) * Boolean(true));
write(new Number(NaN) * Boolean(false));
write(new Number(NaN) * new Boolean(true));
write(new Number(NaN) * new Boolean(false));
write(new Number(NaN) * NaN);
write(new Number(NaN) * +0);
write(new Number(NaN) * -0);
write(new Number(NaN) * 0);
write(new Number(NaN) * 0.0);
write(new Number(NaN) * -0.0);
write(new Number(NaN) * +0.0);
write(new Number(NaN) * 1);
write(new Number(NaN) * 10);
write(new Number(NaN) * 10.0);
write(new Number(NaN) * 10.1);
write(new Number(NaN) * -1);
write(new Number(NaN) * -10);
write(new Number(NaN) * -10.0);
write(new Number(NaN) * -10.1);
write(new Number(NaN) * Number.MAX_VALUE);
write(new Number(NaN) * Number.MIN_VALUE);
write(new Number(NaN) * Number.NaN);
write(new Number(NaN) * Number.POSITIVE_INFINITY);
write(new Number(NaN) * Number.NEGATIVE_INFINITY);
write(new Number(NaN) * new Number(NaN));
write(new Number(NaN) * new Number(+0));
write(new Number(NaN) * new Number(-0));
write(new Number(NaN) * new Number(0));
write(new Number(NaN) * new Number(0.0));
write(new Number(NaN) * new Number(-0.0));
write(new Number(NaN) * new Number(+0.0));
write(new Number(NaN) * new Number(1));
write(new Number(NaN) * new Number(10));
write(new Number(NaN) * new Number(10.0));
write(new Number(NaN) * new Number(10.1));
write(new Number(NaN) * new Number(-1));
write(new Number(NaN) * new Number(-10));
write(new Number(NaN) * new Number(-10.0));
write(new Number(NaN) * new Number(-10.1));
write(new Number(NaN) * new Number(Number.MAX_VALUE));
write(new Number(NaN) * new Number(Number.MIN_VALUE));
write(new Number(NaN) * new Number(Number.NaN));
write(new Number(NaN) * new Number(Number.POSITIVE_INFINITY));
write(new Number(NaN) * new Number(Number.NEGATIVE_INFINITY));
write(new Number(NaN) * '');
write(new Number(NaN) * 0xa);
write(new Number(NaN) * 04);
write(new Number(NaN) * 'hello');
write(new Number(NaN) * 'hel' + 'lo');
write(new Number(NaN) * String(''));
write(new Number(NaN) * String('hello'));
write(new Number(NaN) * String('h' + 'ello'));
write(new Number(NaN) * new String(''));
write(new Number(NaN) * new String('hello'));
write(new Number(NaN) * new String('he' + 'llo'));
write(new Number(NaN) * new Object());
write(new Number(NaN) * new Object());
write(new Number(NaN) * [1, 2, 3]);
write(new Number(NaN) * [1 ,2 , 3]);
write(new Number(NaN) * new Array(3));
write(new Number(NaN) * Array(3));
write(new Number(NaN) * new Array(1 ,2 ,3));
write(new Number(NaN) * Array(1));
write(new Number(NaN) * foo);
write(new Number(+0) * undefined);
write(new Number(+0) * null);
write(new Number(+0) * true);
write(new Number(+0) * false);
write(new Number(+0) * Boolean(true));
write(new Number(+0) * Boolean(false));
write(new Number(+0) * new Boolean(true));
write(new Number(+0) * new Boolean(false));
write(new Number(+0) * NaN);
write(new Number(+0) * +0);
write(new Number(+0) * -0);
write(new Number(+0) * 0);
write(new Number(+0) * 0.0);
write(new Number(+0) * -0.0);
write(new Number(+0) * +0.0);
write(new Number(+0) * 1);
write(new Number(+0) * 10);
write(new Number(+0) * 10.0);
write(new Number(+0) * 10.1);
write(new Number(+0) * -1);
write(new Number(+0) * -10);
write(new Number(+0) * -10.0);
write(new Number(+0) * -10.1);
write(new Number(+0) * Number.MAX_VALUE);
write(new Number(+0) * Number.MIN_VALUE);
write(new Number(+0) * Number.NaN);
write(new Number(+0) * Number.POSITIVE_INFINITY);
write(new Number(+0) * Number.NEGATIVE_INFINITY);
write(new Number(+0) * new Number(NaN));
