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