text: //-------------------------------------------------------------------------------------------------------
  // 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'));
  