//-------------------------------------------------------------------------------------------------------
// 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);
