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