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