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