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