From 802acf69404e8f986f89a4f8d99046d61f92910f Mon Sep 17 00:00:00 2001
From: peter <peter@freepascal.org>
Date: Mon, 23 Apr 2001 18:25:44 +0000
Subject: [PATCH]   * m68k updates

---
 rtl/i386/rttip.inc         |   20 +-
 rtl/inc/genrtti.inc        |  201 ++++
 rtl/inc/graph/fontdata.inc | 2323 +-----------------------------------
 rtl/inc/heaptrc.pp         |   15 +-
 rtl/inc/int64.inc          |   13 +-
 rtl/inc/real2str.inc       |    9 +-
 rtl/inc/rtti.inc           |    8 +-
 rtl/inc/systemh.inc        |   16 +-
 8 files changed, 254 insertions(+), 2351 deletions(-)
 create mode 100644 rtl/inc/genrtti.inc

diff --git a/rtl/i386/rttip.inc b/rtl/i386/rttip.inc
index ddb304a67d..f527ccc695 100644
--- a/rtl/i386/rttip.inc
+++ b/rtl/i386/rttip.inc
@@ -17,6 +17,7 @@
 { I think we should use the pascal version, this code isn't     }
 { much faster                                                   }
 
+{$define FPC_SYSTEM_HAS_FPC_INITIALIZE}
 Procedure Initialize (Data,TypeInfo : pointer);[Public,Alias:'FPC_INITIALIZE'];assembler;
 asm
 // Save registers
@@ -131,6 +132,7 @@ asm
 end;
 
 
+{$define FPC_SYSTEM_HAS_FPC_FINALIZE}
 Procedure int_finalize (Data,TypeInfo: Pointer);[Public,Alias:'FPC_FINALIZE'];assembler;
 asm
         push    %eax
@@ -244,6 +246,7 @@ asm
 end;
 
 
+{$define FPC_SYSTEM_HAS_FPC_ADDREF}
 Procedure Addref (Data,TypeInfo : Pointer); [Public,alias : 'FPC_ADDREF'];Assembler;
 asm
 // Save registers
@@ -358,6 +361,7 @@ asm
 end;
 
 
+{$define FPC_SYSTEM_HAS_FPC_DECREF}
 Procedure DecRef (Data,TypeInfo : Pointer); [Public,alias : 'FPC_DECREF'];Assembler;
 asm
 // Save registers
@@ -470,20 +474,12 @@ asm
         pop     %eax
 end;
 
-procedure FinalizeArray(data,typeinfo : pointer;count,size : longint);
-  [Public,Alias:'FPC_FINALIZEARRAY'];
-
-  var
-     i : longint;
-
-  begin
-     for i:=0 to count-1 do
-       int_finalize(data+size*i,typeinfo);
-  end;
-
 {
   $Log$
-  Revision 1.7  2000-11-09 17:49:34  florian
+  Revision 1.8  2001-04-23 18:25:44  peter
+    * m68k updates
+
+  Revision 1.7  2000/11/09 17:49:34  florian
     + FPC_FINALIZEARRAY
     * Finalize to int_finalize renamed
 
diff --git a/rtl/inc/genrtti.inc b/rtl/inc/genrtti.inc
new file mode 100644
index 0000000000..a705735001
--- /dev/null
+++ b/rtl/inc/genrtti.inc
@@ -0,0 +1,201 @@
+{
+    $Id$
+    This file is part of the Free Pascal run time library.
+    Copyright (c) 1999-2000 by xxxx
+    member of the Free Pascal development team
+
+    See the file COPYING.FPC, included in this distribution,
+    for details about the copyright.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ **********************************************************************}
+
+{ Run-Time type information routines - processor dependent part }
+
+
+{$ifndef FPC_SYSTEM_HAS_FPC_INITIALIZE}
+Procedure Initialize (Data,TypeInfo : pointer);[Public,Alias : 'FPC_INITIALIZE'];
+
+{ this definition is sometimes (depending on switches)
+  already defined or not so define it locally to avoid problems PM }
+Type
+    Pbyte = ^Byte;
+Var Temp       : PByte;
+    I          : longint;
+    Size,Count : longint;
+    TInfo : Pointer;
+
+begin
+  Temp:=PByte(TypeInfo);
+  case temp^ of
+    tkAstring,tkWstring : PPchar(Data)^:=Nil;
+    tkArray :
+      begin
+      temp:=Temp+1;
+      I:=temp^;
+      temp:=temp+(I+1);               // skip name string;
+      Size:=PArrayRec(Temp)^.Size;     // get element size
+      Count:=PArrayRec(Temp)^.Count;  // get element Count
+      TInfo:=PArrayRec(Temp)^.Info;   // Get element info
+      For I:=0 to Count-1 do
+        Initialize (Data+(I*size),TInfo);
+      end;
+    tkrecord :
+      begin
+      Temp:=Temp+1;
+      I:=Temp^;
+      temp:=temp+(I+1);             // skip name string;
+      Size:=PRecRec(Temp)^.Size;    // get record size; not needed.
+      Count:=PRecRec(Temp)^.Count;  // get element Count
+      For I:=1 to count Do
+        With PRecRec(Temp)^.elements[I] do
+          Initialize (Data+Offset,Info);
+      end;
+  end;
+end;
+{$endif}
+
+{$ifndef FPC_SYSTEM_HAS_FPC_FINALIZE}
+Procedure Finalize (Data,TypeInfo: Pointer);[Public,Alias : 'FPC_FINALIZE'];
+
+{ this definition is sometimes (depending on switches)
+  already defined or not so define it locally to avoid problems PM }
+Type
+    Pbyte = ^Byte;
+Var Temp       : PByte;
+    I          : longint;
+    Size,Count : longint;
+    TInfo : Pointer;
+
+begin
+  Temp:=PByte(TypeInfo);
+  case temp^ of
+    tkAstring,tkWstring : AnsiStr_Decr_Ref(Data);
+    tkArray :
+      begin
+      Temp:=Temp+1;
+      I:=temp^;
+      temp:=temp+(I+1);               // skip name string;
+      Size:=PArrayRec(Temp)^.Size;     // get element size
+      Count:=PArrayRec(Temp)^.Count;  // get element Count
+      TInfo:=PArrayRec(Temp)^.Info;   // Get element info
+      For I:=0 to Count-1 do
+        Finalize (Data+(I*size),TInfo);
+      end;
+    tkrecord :
+      begin
+      Temp:=Temp+1;
+      I:=Temp^;
+      temp:=temp+(I+1);             // skip name string;
+      Size:=PRecRec(Temp)^.Size;    // get record size; not needed.
+      Count:=PRecRec(Temp)^.Count;  // get element Count
+      For I:=1 to count do
+        With PRecRec(Temp)^.elements[I] do
+          Finalize (Data+Offset,Info);
+      end;
+  end;
+end;
+{$endif}
+
+{$ifndef FPC_SYSTEM_HAS_FPC_ADDREF}
+Procedure Addref (Data,TypeInfo : Pointer); [Public,alias : 'FPC_ADDREF'];
+
+{ this definition is sometimes (depending on switches)
+  already defined or not so define it locally to avoid problems PM }
+Type
+    Pbyte = ^Byte;
+Var Temp       : PByte;
+    I          : longint;
+    Size,Count : longint;
+    TInfo : Pointer;
+
+begin
+  Temp:=PByte(TypeInfo);
+  case temp^ of
+    tkAstring,tkWstring : AnsiStr_Incr_Ref(Data);
+    tkArray :
+      begin
+      Temp:=Temp+1;
+      I:=temp^;
+      temp:=temp+(I+1);               // skip name string;
+      Size:=PArrayRec(Temp)^.Size;     // get element size
+      Count:=PArrayRec(Temp)^.Count;  // get element Count
+      TInfo:=PArrayRec(Temp)^.Info;   // Get element info
+      For I:=0 to Count-1 do
+        AddRef (Data+(I*size),TInfo);
+      end;
+    tkrecord :
+      begin
+      Temp:=Temp+1;
+      I:=Temp^;
+      temp:=temp+(I+1);             // skip name string;
+      Size:=PRecRec(Temp)^.Size;    // get record size; not needed.
+      Count:=PRecRec(Temp)^.Count;  // get element Count
+      For I:=1 to count do
+        With PRecRec(Temp)^.elements[I] do
+          AddRef (Data+Offset,Info);
+      end;
+  end;
+end;
+{$endif}
+
+{$ifndef FPC_SYSTEM_HAS_FPC_DECREF}
+Procedure DecRef (Data, TypeInfo : Pointer);[Public,alias : 'FPC_DECREF'];
+{ this definition is sometimes (depending on switches)
+  already defined or not so define it locally to avoid problems PM }
+Type
+    Pbyte = ^Byte;
+Var Temp       : PByte;
+    I          : longint;
+    Size,Count : longint;
+    TInfo : Pointer;
+
+begin
+  Temp:=PByte(TypeInfo);
+  case temp^ of
+    tkAstring,tkWstring : AnsiStr_Decr_Ref(Data);
+    tkArray :
+      begin
+      Temp:=Temp+1;
+      I:=temp^;
+      temp:=temp+(I+1);               // skip name string;
+      Size:=PArrayRec(Temp)^.Size;     // get element size
+      Count:=PArrayRec(Temp)^.Count;  // get element Count
+      TInfo:=PArrayRec(Temp)^.Info;   // Get element info
+      For I:=0 to Count-1 do
+        DecRef (Data+(I*size),TInfo);
+      end;
+    tkrecord :
+      begin
+      Temp:=Temp+1;
+      I:=Temp^;
+      temp:=temp+(I+1);             // skip name string;
+      Size:=PRecRec(Temp)^.Size;    // get record size; not needed.
+      Count:=PRecRec(Temp)^.Count;  // get element Count
+      For I:=1 to count do
+        With PRecRec(Temp)^.elements[I] do
+          DecRef (Data+Offset,Info);
+      end;
+  end;
+end;
+{$endif}
+
+{$ifndef FPC_SYSTEM_HAS_FPC_FINALIZEARRAY}
+procedure FinalizeArray(data,typeinfo : pointer;count,size : longint); [Public,Alias:'FPC_FINALIZEARRAY'];
+  var
+     i : longint;
+  begin
+     for i:=0 to count-1 do
+       int_finalize(data+size*i,typeinfo);
+  end;
+{$endif}
+
+{
+ $Log$
+ Revision 1.2  2001-04-23 18:25:44  peter
+   * m68k updates
+
+}
\ No newline at end of file
diff --git a/rtl/inc/graph/fontdata.inc b/rtl/inc/graph/fontdata.inc
index 24adfbda26..75011bd04f 100644
--- a/rtl/inc/graph/fontdata.inc
+++ b/rtl/inc/graph/fontdata.inc
@@ -13,2320 +13,6 @@ $Id$
 TYPE
   TBitMapChar = array[0..7,0..7] of byte;
 
-{$ifdef oldfont}
-{$ifdef go32v2}
-VAR
-   DefaultFontData: Array[#0..#255] of TBitmapChar;
-{$else go32v2}
-CONST
-   DefaultFontData: Array[#0..#255] of TBitmapChar = (
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,1,1,1,1,1,1,0),
-(1,0,0,0,0,0,0,1),
-(1,0,1,0,0,1,0,1),
-(1,0,0,0,0,0,0,1),
-(1,0,1,1,1,1,0,1),
-(1,0,0,1,1,0,0,1),
-(1,0,0,0,0,0,0,1),
-(0,1,1,1,1,1,1,0)),
-(
-(0,1,1,1,1,1,1,0),
-(1,1,1,1,1,1,1,1),
-(1,1,0,1,1,0,1,1),
-(1,1,1,1,1,1,1,1),
-(1,1,0,0,0,0,1,1),
-(1,1,1,0,0,1,1,1),
-(1,1,1,1,1,1,1,1),
-(0,1,1,1,1,1,1,0)),
-(
-(0,1,1,0,1,1,0,0),
-(1,1,1,1,1,1,1,0),
-(1,1,1,1,1,1,1,0),
-(1,1,1,1,1,1,1,0),
-(0,1,1,1,1,1,0,0),
-(0,0,1,1,1,0,0,0),
-(0,0,0,1,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,1,0,0,0,0),
-(0,0,1,1,1,0,0,0),
-(0,1,1,1,1,1,0,0),
-(1,1,1,1,1,1,1,0),
-(0,1,1,1,1,1,0,0),
-(0,0,1,1,1,0,0,0),
-(0,0,0,1,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,1,1,1,0,0,0),
-(0,1,1,1,1,1,0,0),
-(0,0,1,1,1,0,0,0),
-(1,1,1,1,1,1,1,0),
-(1,1,1,1,1,1,1,0),
-(1,0,0,1,0,0,1,0),
-(0,0,0,1,0,0,0,0),
-(0,1,1,1,1,1,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,1,0,0,0,0),
-(0,0,1,1,1,0,0,0),
-(0,1,1,1,1,1,0,0),
-(1,1,1,1,1,1,1,0),
-(0,1,1,1,1,1,0,0),
-(0,0,1,1,1,0,0,0),
-(0,1,1,1,1,1,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,1,1,1,1,0,0),
-(0,0,1,1,1,1,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,1,1,1,1,1,1),
-(1,1,1,1,1,1,1,1),
-(1,1,1,0,0,1,1,1),
-(1,1,0,0,0,0,1,1),
-(1,1,0,0,0,0,1,1),
-(1,1,1,0,0,1,1,1),
-(1,1,1,1,1,1,1,1),
-(1,1,1,1,1,1,1,1)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,1,1,1,1,0,0),
-(0,1,1,0,0,1,1,0),
-(0,1,0,0,0,0,1,0),
-(0,1,0,0,0,0,1,0),
-(0,1,1,0,0,1,1,0),
-(0,0,1,1,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,1,1,1,1,1,1),
-(1,1,0,0,0,0,1,1),
-(1,0,0,1,1,0,0,1),
-(1,0,1,1,1,1,0,1),
-(1,0,1,1,1,1,0,1),
-(1,0,0,1,1,0,0,1),
-(1,1,0,0,0,0,1,1),
-(1,1,1,1,1,1,1,1)),
-(
-(0,0,0,0,1,1,1,1),
-(0,0,0,0,0,1,1,1),
-(0,0,0,0,1,1,1,1),
-(0,1,1,1,1,1,0,1),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,1,0,0,0)),
-(
-(0,0,1,1,1,1,0,0),
-(0,1,1,0,0,1,1,0),
-(0,1,1,0,0,1,1,0),
-(0,1,1,0,0,1,1,0),
-(0,0,1,1,1,1,0,0),
-(0,0,0,1,1,0,0,0),
-(0,1,1,1,1,1,1,0),
-(0,0,0,1,1,0,0,0)),
-(
-(0,0,1,1,1,1,1,1),
-(0,0,1,1,0,0,1,1),
-(0,0,1,1,1,1,1,1),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,1,1,1,0,0,0,0),
-(1,1,1,1,0,0,0,0),
-(1,1,1,0,0,0,0,0)),
-(
-(0,1,1,1,1,1,1,1),
-(0,1,1,0,0,0,1,1),
-(0,1,1,1,1,1,1,1),
-(0,1,1,0,0,0,1,1),
-(0,1,1,0,0,0,1,1),
-(0,1,1,0,0,1,1,1),
-(1,1,1,0,0,1,1,0),
-(1,1,0,0,0,0,0,0)),
-(
-(1,0,0,1,1,0,0,1),
-(0,1,0,1,1,0,1,0),
-(0,0,1,1,1,1,0,0),
-(1,1,1,0,0,1,1,1),
-(1,1,1,0,0,1,1,1),
-(0,0,1,1,1,1,0,0),
-(0,1,0,1,1,0,1,0),
-(1,0,0,1,1,0,0,1)),
-(
-(1,0,0,0,0,0,0,0),
-(1,1,1,0,0,0,0,0),
-(1,1,1,1,1,0,0,0),
-(1,1,1,1,1,1,1,0),
-(1,1,1,1,1,0,0,0),
-(1,1,1,0,0,0,0,0),
-(1,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,1,0),
-(0,0,0,0,1,1,1,0),
-(0,0,1,1,1,1,1,0),
-(1,1,1,1,1,1,1,0),
-(0,0,1,1,1,1,1,0),
-(0,0,0,0,1,1,1,0),
-(0,0,0,0,0,0,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,1,1,1,1,0,0),
-(0,1,1,1,1,1,1,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,1,1,1,1,1,1,0),
-(0,0,1,1,1,1,0,0),
-(0,0,0,1,1,0,0,0)),
-(
-(0,1,1,0,0,1,1,0),
-(0,1,1,0,0,1,1,0),
-(0,1,1,0,0,1,1,0),
-(0,1,1,0,0,1,1,0),
-(0,1,1,0,0,1,1,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,0,0,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,1,1,1,1,1,1,1),
-(1,1,0,1,1,0,1,1),
-(1,1,0,1,1,0,1,1),
-(0,1,1,1,1,0,1,1),
-(0,0,0,1,1,0,1,1),
-(0,0,0,1,1,0,1,1),
-(0,0,0,1,1,0,1,1),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,1,1,1,1,1,0),
-(0,1,1,0,0,0,1,1),
-(0,0,1,1,1,0,0,0),
-(0,1,1,0,1,1,0,0),
-(0,1,1,0,1,1,0,0),
-(0,0,1,1,1,0,0,0),
-(1,0,0,0,0,1,1,0),
-(1,1,1,1,1,1,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,1,1,0),
-(0,1,1,1,1,1,1,0),
-(0,1,1,1,1,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,1,1,1,1,0,0),
-(0,1,1,1,1,1,1,0),
-(0,0,0,1,1,0,0,0),
-(0,1,1,1,1,1,1,0),
-(0,0,1,1,1,1,0,0),
-(0,0,0,1,1,0,0,0),
-(1,1,1,1,1,1,1,1)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,1,1,1,1,0,0),
-(0,1,1,1,1,1,1,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,1,1,1,1,1,1,0),
-(0,0,1,1,1,1,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,1,1,0,0),
-(1,1,1,1,1,1,1,0),
-(0,0,0,0,1,1,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(1,1,1,1,1,1,1,0),
-(0,1,1,0,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,0,0,0,0,0,0),
-(1,1,0,0,0,0,0,0),
-(1,1,0,0,0,0,0,0),
-(1,1,1,1,1,1,1,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,1,0,0,1,0,0),
-(0,1,1,0,0,1,1,0),
-(1,1,1,1,1,1,1,1),
-(0,1,1,0,0,1,1,0),
-(0,0,1,0,0,1,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,1,1,1,1,0,0),
-(0,1,1,1,1,1,1,0),
-(1,1,1,1,1,1,1,1),
-(1,1,1,1,1,1,1,1),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,1,1,1,1),
-(1,1,1,1,1,1,1,1),
-(0,1,1,1,1,1,1,0),
-(0,0,1,1,1,1,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,1,1,1,1,0,0),
-(0,0,1,1,1,1,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,1,1,0,1,1,0,0),
-(0,1,1,0,1,1,0,0),
-(0,1,1,0,1,1,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,1,1,0,1,1,0,0),
-(0,1,1,0,1,1,0,0),
-(1,1,1,1,1,1,1,0),
-(0,1,1,0,1,1,0,0),
-(1,1,1,1,1,1,1,0),
-(0,1,1,0,1,1,0,0),
-(0,1,1,0,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,1,1,0,0,0),
-(0,1,1,1,1,1,1,0),
-(1,1,0,0,0,0,0,0),
-(0,1,1,1,1,1,0,0),
-(0,0,0,0,0,1,1,0),
-(1,1,1,1,1,1,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(1,1,0,0,0,1,1,0),
-(1,1,0,0,1,1,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,1,1,0,0,1,1,0),
-(1,1,0,0,0,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,1,1,1,0,0,0),
-(0,1,1,0,1,1,0,0),
-(0,0,1,1,1,0,0,0),
-(0,1,1,1,0,1,1,0),
-(1,1,0,1,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,0,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,1,1,0,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,1,1,0,0,1,1,0),
-(0,0,1,1,1,1,0,0),
-(1,1,1,1,1,1,1,1),
-(0,0,1,1,1,1,0,0),
-(0,1,1,0,0,1,1,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,1,1,1,1,1,1,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,1,1,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,1,1,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,1,1,0),
-(0,0,0,0,1,1,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(1,1,0,0,0,0,0,0),
-(1,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,1,1,1,1,1,0,0),
-(1,1,0,0,1,1,1,0),
-(1,1,0,1,1,1,1,0),
-(1,1,1,1,0,1,1,0),
-(1,1,1,0,0,1,1,0),
-(1,1,0,0,0,1,1,0),
-(0,1,1,1,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,1,1,0,0,0,0),
-(0,1,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(1,1,1,1,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,1,1,1,1,0,0,0),
-(1,1,0,0,1,1,0,0),
-(0,0,0,0,1,1,0,0),
-(0,0,1,1,1,0,0,0),
-(0,1,1,0,0,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,1,1,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,1,1,1,1,0,0,0),
-(1,1,0,0,1,1,0,0),
-(0,0,0,0,1,1,0,0),
-(0,0,1,1,1,0,0,0),
-(0,0,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,1,1,1,0,0),
-(0,0,1,1,1,1,0,0),
-(0,1,1,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,1,1,1,1,1,0),
-(0,0,0,0,1,1,0,0),
-(0,0,0,1,1,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,1,1,1,1,0,0),
-(1,1,0,0,0,0,0,0),
-(1,1,1,1,1,0,0,0),
-(0,0,0,0,1,1,0,0),
-(0,0,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,1,1,1,0,0,0),
-(0,1,1,0,0,0,0,0),
-(1,1,0,0,0,0,0,0),
-(1,1,1,1,1,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,1,1,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,0,0,0,1,1,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,1,1,1,1,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,1,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,1,1,1,1,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,1,1,0,0),
-(0,0,0,0,1,1,0,0),
-(0,0,0,1,1,0,0,0),
-(0,1,1,1,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,1,1,0,0,0,0)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(1,1,0,0,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,1,1,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,1,1,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,1,1,0,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,1,1,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,1,1,1,1,0,0),
-(0,1,1,0,0,1,1,0),
-(0,0,0,0,1,1,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,1,1,1,1,1,0,0),
-(1,1,0,0,0,1,1,0),
-(1,1,0,1,1,1,1,0),
-(1,1,0,1,1,1,1,0),
-(1,1,0,1,1,1,0,0),
-(1,1,0,0,0,0,0,0),
-(0,1,1,1,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,1,1,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,1,1,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,1,1,1,1,0,0),
-(0,1,1,0,0,1,1,0),
-(0,1,1,0,0,1,1,0),
-(0,1,1,1,1,1,0,0),
-(0,1,1,0,0,1,1,0),
-(0,1,1,0,0,1,1,0),
-(1,1,1,1,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,1,1,1,1,0,0),
-(0,1,1,0,0,1,1,0),
-(1,1,0,0,0,0,0,0),
-(1,1,0,0,0,0,0,0),
-(1,1,0,0,0,0,0,0),
-(0,1,1,0,0,1,1,0),
-(0,0,1,1,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,1,1,1,0,0,0),
-(0,1,1,0,1,1,0,0),
-(0,1,1,0,0,1,1,0),
-(0,1,1,0,0,1,1,0),
-(0,1,1,0,0,1,1,0),
-(0,1,1,0,1,1,0,0),
-(1,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,1,1,1,1,1,0),
-(0,1,1,0,0,0,1,0),
-(0,1,1,0,1,0,0,0),
-(0,1,1,1,1,0,0,0),
-(0,1,1,0,1,0,0,0),
-(0,1,1,0,0,0,1,0),
-(1,1,1,1,1,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,1,1,1,1,1,0),
-(0,1,1,0,0,0,1,0),
-(0,1,1,0,1,0,0,0),
-(0,1,1,1,1,0,0,0),
-(0,1,1,0,1,0,0,0),
-(0,1,1,0,0,0,0,0),
-(1,1,1,1,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,1,1,1,1,0,0),
-(0,1,1,0,0,1,1,0),
-(1,1,0,0,0,0,0,0),
-(1,1,0,0,0,0,0,0),
-(1,1,0,0,1,1,1,0),
-(0,1,1,0,0,1,1,0),
-(0,0,1,1,1,0,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,1,1,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,1,1,1,1,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,1,1,1,1,0),
-(0,0,0,0,1,1,0,0),
-(0,0,0,0,1,1,0,0),
-(0,0,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,1,0,0,1,1,0),
-(0,1,1,0,0,1,1,0),
-(0,1,1,0,1,1,0,0),
-(0,1,1,1,1,0,0,0),
-(0,1,1,0,1,1,0,0),
-(0,1,1,0,0,1,1,0),
-(1,1,1,0,0,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,1,1,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(0,1,1,0,0,0,1,0),
-(0,1,1,0,0,1,1,0),
-(1,1,1,1,1,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,0,0,0,1,1,0),
-(1,1,1,0,1,1,1,0),
-(1,1,1,1,1,1,1,0),
-(1,1,1,1,1,1,1,0),
-(1,1,0,1,0,1,1,0),
-(1,1,0,0,0,1,1,0),
-(1,1,0,0,0,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,0,0,0,1,1,0),
-(1,1,1,0,0,1,1,0),
-(1,1,1,1,0,1,1,0),
-(1,1,0,1,1,1,1,0),
-(1,1,0,0,1,1,1,0),
-(1,1,0,0,0,1,1,0),
-(1,1,0,0,0,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,1,1,1,0,0,0),
-(0,1,1,0,1,1,0,0),
-(1,1,0,0,0,1,1,0),
-(1,1,0,0,0,1,1,0),
-(1,1,0,0,0,1,1,0),
-(0,1,1,0,1,1,0,0),
-(0,0,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,1,1,1,1,0,0),
-(0,1,1,0,0,1,1,0),
-(0,1,1,0,0,1,1,0),
-(0,1,1,1,1,1,0,0),
-(0,1,1,0,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(1,1,1,1,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,1,1,1,1,1,0,0),
-(1,1,0,0,0,1,1,0),
-(1,1,0,0,0,1,1,0),
-(1,1,0,0,0,1,1,0),
-(1,1,0,1,0,1,1,0),
-(0,1,1,1,1,1,0,0),
-(0,0,0,0,1,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,1,1,1,1,0,0),
-(0,1,1,0,0,1,1,0),
-(0,1,1,0,0,1,1,0),
-(0,1,1,1,1,1,0,0),
-(0,1,1,0,1,1,0,0),
-(0,1,1,0,0,1,1,0),
-(1,1,1,0,0,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,1,1,1,1,1,0,0),
-(1,1,0,0,0,1,1,0),
-(1,1,1,0,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,1,1,1,0),
-(1,1,0,0,0,1,1,0),
-(0,1,1,1,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,1,1,1,1,0,0),
-(1,0,1,1,0,1,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,1,1,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,0,0,0,1,1,0),
-(1,1,0,0,0,1,1,0),
-(1,1,0,0,0,1,1,0),
-(1,1,0,0,0,1,1,0),
-(1,1,0,1,0,1,1,0),
-(1,1,1,1,1,1,1,0),
-(0,1,1,0,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,0,0,0,1,1,0),
-(1,1,0,0,0,1,1,0),
-(0,1,1,0,1,1,0,0),
-(0,0,1,1,1,0,0,0),
-(0,1,1,0,1,1,0,0),
-(1,1,0,0,0,1,1,0),
-(1,1,0,0,0,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,1,1,1,1,1,0),
-(1,1,0,0,0,1,1,0),
-(1,0,0,0,1,1,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,1,1,0,0,1,0),
-(0,1,1,0,0,1,1,0),
-(1,1,1,1,1,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,1,1,1,1,0,0,0),
-(0,1,1,0,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,0,0,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,1,1,0,0),
-(0,0,0,0,0,1,1,0),
-(0,0,0,0,0,0,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,1,1,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,1,0,0,0,0),
-(0,0,1,1,1,0,0,0),
-(0,1,1,0,1,1,0,0),
-(1,1,0,0,0,1,1,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,1,1,1,1)),
-(
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,1,1,0,0),
-(0,1,1,1,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,0,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,1,0,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(0,1,1,1,1,1,0,0),
-(0,1,1,0,0,1,1,0),
-(0,1,1,0,0,1,1,0),
-(1,1,0,1,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,0,0,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,1,1,1,0,0),
-(0,0,0,0,1,1,0,0),
-(0,0,0,0,1,1,0,0),
-(0,1,1,1,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,0,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,1,1,1,1,0,0),
-(1,1,0,0,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,1,1,1,0,0,0),
-(0,1,1,0,1,1,0,0),
-(0,1,1,0,0,1,0,0),
-(1,1,1,1,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(1,1,1,1,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,0,1,1,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,1,1,0,0),
-(0,0,0,0,1,1,0,0),
-(1,1,1,1,1,0,0,0)),
-(
-(1,1,1,0,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(0,1,1,0,1,1,0,0),
-(0,1,1,1,0,1,1,0),
-(0,1,1,0,0,1,1,0),
-(0,1,1,0,0,1,1,0),
-(1,1,1,0,0,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,1,1,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,1,1,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,1,1,1,0,0),
-(0,0,0,0,1,1,0,0),
-(0,0,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,1,0,0,0)),
-(
-(1,1,1,0,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(0,1,1,0,0,1,1,0),
-(0,1,1,0,1,1,0,0),
-(0,1,1,1,1,0,0,0),
-(0,1,1,0,1,1,0,0),
-(1,1,1,0,0,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,1,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,1,1,1,1,1,0),
-(1,1,1,1,1,1,1,0),
-(1,1,0,1,0,1,1,0),
-(1,1,0,1,0,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,0,1,1,1,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,0,1,1,1,0,0),
-(0,1,1,0,0,1,1,0),
-(0,1,1,0,0,1,1,0),
-(0,1,1,1,1,1,0,0),
-(0,1,1,0,0,0,0,0),
-(1,1,1,1,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,0,1,1,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,1,1,0,0),
-(0,0,0,0,1,1,0,0),
-(0,0,0,1,1,1,1,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,0,1,1,1,0,0),
-(0,1,1,1,0,1,1,0),
-(0,1,1,0,0,0,1,0),
-(0,1,1,0,0,0,0,0),
-(1,1,1,1,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,1,0,0),
-(1,1,0,0,0,0,0,0),
-(0,1,1,1,0,0,0,0),
-(0,0,0,1,1,1,0,0),
-(1,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(1,1,1,1,1,1,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,1,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,0,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,0,0,0,1,1,0),
-(1,1,0,0,0,1,1,0),
-(1,1,0,1,0,1,1,0),
-(1,1,1,1,1,1,1,0),
-(0,1,1,0,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,0,0,0,1,1,0),
-(0,1,1,0,1,1,0,0),
-(0,0,1,1,1,0,0,0),
-(0,1,1,0,1,1,0,0),
-(1,1,0,0,0,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,1,1,0,0),
-(0,0,0,0,1,1,0,0),
-(1,1,1,1,1,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,1,1,0,0),
-(1,0,0,1,1,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,1,1,0,0,1,0,0),
-(1,1,1,1,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,1,1,1,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(1,1,1,0,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,0,1,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,1,0,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,0,1,1,1,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(1,1,1,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,1,1,1,0,1,1,0),
-(1,1,0,1,1,1,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,1,0,0,0,0),
-(0,0,1,1,1,0,0,0),
-(0,1,1,0,1,1,0,0),
-(1,1,0,0,0,1,1,0),
-(1,1,0,0,0,1,1,0),
-(1,1,1,1,1,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,1,1,1,1,1,0,0),
-(1,1,0,0,0,1,1,0),
-(1,1,0,0,0,0,0,0),
-(1,1,0,0,0,1,1,0),
-(0,1,1,1,1,1,0,0),
-(0,0,0,0,1,1,0,0),
-(0,0,0,0,0,1,1,0),
-(0,1,1,1,1,1,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(1,1,0,0,1,1,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,0,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,1,1,1,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,1,1,1,1,0,0),
-(1,1,0,0,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,1,1,1,1,1,1,0),
-(1,0,0,0,0,0,0,1),
-(0,0,1,1,1,1,0,0),
-(0,0,0,0,0,1,1,0),
-(0,0,1,1,1,1,1,0),
-(0,1,1,0,0,1,1,0),
-(0,0,1,1,1,0,1,1),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,0,0,1,1,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,1,1,0,0),
-(0,1,1,1,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,0,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,1,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,1,1,0,0),
-(0,1,1,1,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,0,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,1,1,0,0),
-(0,1,1,1,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,0,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,1,0,0),
-(1,1,0,0,0,1,1,0),
-(1,1,0,0,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,1,1,0,0),
-(0,0,1,1,1,0,0,0)),
-(
-(0,1,1,1,1,1,1,0),
-(1,0,0,0,0,0,0,1),
-(0,0,1,1,1,1,0,0),
-(0,1,1,0,0,1,1,0),
-(0,1,1,1,1,1,1,0),
-(0,1,1,0,0,0,0,0),
-(0,0,1,1,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,0,0,1,1,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,1,1,1,1,0,0),
-(1,1,0,0,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,1,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,1,1,1,1,0,0),
-(1,1,0,0,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,0,0,1,1,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,1,1,1,1,1,0,0),
-(1,0,0,0,0,0,1,0),
-(0,0,1,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,1,1,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,1,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,0,0,0,1,1,0),
-(0,0,0,1,0,0,0,0),
-(0,1,1,1,1,1,0,0),
-(1,1,0,0,0,1,1,0),
-(1,1,1,1,1,1,1,0),
-(1,1,0,0,0,1,1,0),
-(1,1,0,0,0,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,1,1,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,1,1,1,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,1,1,0,0),
-(0,1,1,0,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(0,1,1,0,0,0,0,0),
-(1,1,1,1,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,1,1,1),
-(0,0,0,0,1,1,0,0),
-(0,1,1,1,1,1,1,1),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,1,1,1,1),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,1,1,1,1,1,0),
-(0,1,1,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,1,1,1,1,1,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,1,1,1,1,0,0,0),
-(1,0,0,0,0,1,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(1,1,0,0,1,1,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(1,1,1,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,1,1,1,1,0,0,0),
-(1,0,0,0,0,1,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,0,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(1,1,1,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,0,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(1,1,0,0,1,1,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,1,1,0,0),
-(0,0,0,0,1,1,0,0),
-(1,1,1,1,1,0,0,0)),
-(
-(1,1,0,0,0,0,1,1),
-(0,0,0,1,1,0,0,0),
-(0,0,1,1,1,1,0,0),
-(0,1,1,0,0,1,1,0),
-(0,1,1,0,0,1,1,0),
-(0,0,1,1,1,1,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,0,0,1,1,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,1,1,1,1,1,1,0),
-(1,1,0,0,0,0,0,0),
-(1,1,0,0,0,0,0,0),
-(0,1,1,1,1,1,1,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0)),
-(
-(0,0,1,1,1,0,0,0),
-(0,1,1,0,1,1,0,0),
-(0,1,1,0,0,1,0,0),
-(1,1,1,1,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(1,1,1,0,0,1,1,0),
-(1,1,1,1,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,1,1,0,0,0,0),
-(1,1,1,1,1,1,0,0),
-(0,0,1,1,0,0,0,0),
-(1,1,1,1,1,1,0,0),
-(0,0,1,1,0,0,0,0)),
-(
-(1,1,1,1,1,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,1,1,1,0,1,0),
-(1,1,0,0,0,1,1,0),
-(1,1,0,0,1,1,1,1),
-(1,1,0,0,0,1,1,0),
-(1,1,0,0,0,0,1,1)),
-(
-(0,0,0,0,1,1,1,0),
-(0,0,0,1,1,0,1,1),
-(0,0,0,1,1,0,0,0),
-(0,0,1,1,1,1,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(1,1,0,1,1,0,0,0),
-(0,1,1,1,0,0,0,0)),
-(
-(0,0,0,1,1,1,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,1,1,0,0),
-(0,1,1,1,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,0,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,1,1,1,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,1,1,1,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,0,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,0,1,1,1,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,1,1,1,1,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,1,0,1,1,0,0),
-(1,1,1,1,1,1,0,0),
-(1,1,0,1,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,1,1,1,1,0,0),
-(0,1,1,0,1,1,0,0),
-(0,1,1,0,1,1,0,0),
-(0,0,1,1,1,1,1,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,1,1,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,1,1,1,0,0,0),
-(0,1,1,0,1,1,0,0),
-(0,1,1,0,1,1,0,0),
-(0,0,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,1,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,1,1,0,0,1,1,0),
-(0,0,1,1,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,1,1,0,0),
-(1,1,0,0,0,0,0,0),
-(1,1,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,1,1,0,0),
-(0,0,0,0,1,1,0,0),
-(0,0,0,0,1,1,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,0,0,0,1,1,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,1,1,0,0,0),
-(0,0,1,1,0,1,1,0),
-(0,1,1,0,1,0,1,1),
-(1,1,0,0,0,0,1,0),
-(1,0,0,0,0,1,0,0),
-(0,0,0,0,1,1,1,1)),
-(
-(1,1,0,0,0,0,1,1),
-(1,1,0,0,0,1,1,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,1,1,0,1,1),
-(0,0,1,1,0,1,1,1),
-(0,1,1,0,1,1,0,1),
-(1,1,0,0,1,1,1,1),
-(0,0,0,0,0,0,1,1)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,1,1,1,1,0,0),
-(0,0,1,1,1,1,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,1,1,0,0,1,1),
-(0,1,1,0,0,1,1,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,0,0,1,1,0),
-(0,0,1,1,0,0,1,1),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,0,0,1,1,0),
-(0,0,1,1,0,0,1,1),
-(0,1,1,0,0,1,1,0),
-(1,1,0,0,1,1,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,1,0,0,0,1,0),
-(1,0,0,0,1,0,0,0),
-(0,0,1,0,0,0,1,0),
-(1,0,0,0,1,0,0,0),
-(0,0,1,0,0,0,1,0),
-(1,0,0,0,1,0,0,0),
-(0,0,1,0,0,0,1,0),
-(1,0,0,0,1,0,0,0)),
-(
-(0,1,0,1,0,1,0,1),
-(1,0,1,0,1,0,1,0),
-(0,1,0,1,0,1,0,1),
-(1,0,1,0,1,0,1,0),
-(0,1,0,1,0,1,0,1),
-(1,0,1,0,1,0,1,0),
-(0,1,0,1,0,1,0,1),
-(1,0,1,0,1,0,1,0)),
-(
-(1,1,0,1,1,0,1,1),
-(1,1,1,1,0,1,1,0),
-(1,1,0,1,1,0,1,1),
-(0,1,1,0,1,1,1,1),
-(1,1,0,1,1,0,1,1),
-(0,1,1,1,1,1,1,0),
-(1,1,0,1,0,1,1,1),
-(1,1,1,0,1,1,0,1)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(1,1,1,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(1,1,1,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(1,1,1,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0)),
-(
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(1,1,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,1,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(1,1,1,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0)),
-(
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(1,1,1,1,0,1,1,0),
-(0,0,0,0,0,1,1,0),
-(1,1,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0)),
-(
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,1,1,1,0),
-(0,0,0,0,0,1,1,0),
-(1,1,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0)),
-(
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(1,1,1,1,0,1,1,0),
-(0,0,0,0,0,1,1,0),
-(1,1,1,1,1,1,1,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(1,1,1,1,1,1,1,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(1,1,1,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(1,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,1,1,1),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(1,1,1,1,1,1,1,1),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,1,1,1,1),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,1,1,1),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,1,1,1,1),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(1,1,1,1,1,1,1,1),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,1,1,1),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,1,1,1),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0)),
-(
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,1),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0)),
-(
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,1),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,1,1,1,1),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,1,1,1,1,1,1),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,1,1,1),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0)),
-(
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(1,1,1,1,0,1,1,1),
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,1,1,1,1),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,1,1,1,1),
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,0,1,1,1),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0)),
-(
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,1),
-(0,0,1,1,0,0,0,0),
-(0,0,1,1,0,1,1,1),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,1,1,1,1),
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,1,1,1,1),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(1,1,1,1,0,1,1,1),
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,0,1,1,1),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(1,1,1,1,1,1,1,1),
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,1,1,1,1),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(1,1,1,1,1,1,1,1),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,1,1,1,1),
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,1,1,1,1),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,1,1,1,1),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0)),
-(
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,1,1,1,1),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,1,1,1),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,1,1,1),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,1,1,1,1,1),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,1,1,1),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,1,1,1,1,1,1),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0)),
-(
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(1,1,1,1,1,1,1,1),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0),
-(0,0,1,1,0,1,1,0)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(1,1,1,1,1,1,1,1),
-(0,0,0,1,1,0,0,0),
-(1,1,1,1,1,1,1,1),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(1,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,1,1,1,1,1),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0)),
-(
-(1,1,1,1,1,1,1,1),
-(1,1,1,1,1,1,1,1),
-(1,1,1,1,1,1,1,1),
-(1,1,1,1,1,1,1,1),
-(1,1,1,1,1,1,1,1),
-(1,1,1,1,1,1,1,1),
-(1,1,1,1,1,1,1,1),
-(1,1,1,1,1,1,1,1)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,1,1,1,1),
-(1,1,1,1,1,1,1,1),
-(1,1,1,1,1,1,1,1),
-(1,1,1,1,1,1,1,1)),
-(
-(1,1,1,1,0,0,0,0),
-(1,1,1,1,0,0,0,0),
-(1,1,1,1,0,0,0,0),
-(1,1,1,1,0,0,0,0),
-(1,1,1,1,0,0,0,0),
-(1,1,1,1,0,0,0,0),
-(1,1,1,1,0,0,0,0),
-(1,1,1,1,0,0,0,0)),
-(
-(0,0,0,0,1,1,1,1),
-(0,0,0,0,1,1,1,1),
-(0,0,0,0,1,1,1,1),
-(0,0,0,0,1,1,1,1),
-(0,0,0,0,1,1,1,1),
-(0,0,0,0,1,1,1,1),
-(0,0,0,0,1,1,1,1),
-(0,0,0,0,1,1,1,1)),
-(
-(1,1,1,1,1,1,1,1),
-(1,1,1,1,1,1,1,1),
-(1,1,1,1,1,1,1,1),
-(1,1,1,1,1,1,1,1),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,0,1,1,0),
-(1,1,0,1,1,1,0,0),
-(1,1,0,0,1,0,0,0),
-(1,1,0,1,1,1,0,0),
-(0,1,1,1,0,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,1,1,1,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,1,1,1,0,0,0),
-(1,1,0,0,0,0,0,0),
-(1,1,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,0,0,0,0),
-(1,1,0,0,0,0,0,0),
-(1,1,0,0,0,0,0,0),
-(1,1,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,1,1,1,0),
-(0,1,1,0,1,1,0,0),
-(0,1,1,0,1,1,0,0),
-(0,1,1,0,1,1,0,0),
-(0,1,1,0,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,1,1,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,0,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,1,1,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,1,1,0),
-(1,1,0,1,1,0,0,0),
-(1,1,0,1,1,0,0,0),
-(1,1,0,1,1,0,0,0),
-(0,1,1,1,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,1,1,0,0,1,1,0),
-(0,1,1,0,0,1,1,0),
-(0,1,1,0,0,1,1,0),
-(0,1,1,0,0,1,1,0),
-(0,1,1,1,1,1,0,0),
-(0,1,1,0,0,0,0,0),
-(1,1,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,0,1,1,0),
-(1,1,0,1,1,1,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(1,1,1,1,1,1,0,0),
-(0,0,1,1,0,0,0,0),
-(0,1,1,1,1,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,1,1,0,0,0,0),
-(1,1,1,1,1,1,0,0)),
-(
-(0,0,1,1,1,0,0,0),
-(0,1,1,0,1,1,0,0),
-(1,1,0,0,0,1,1,0),
-(1,1,1,1,1,1,1,0),
-(1,1,0,0,0,1,1,0),
-(0,1,1,0,1,1,0,0),
-(0,0,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,1,1,1,0,0,0),
-(0,1,1,0,1,1,0,0),
-(1,1,0,0,0,1,1,0),
-(1,1,0,0,0,1,1,0),
-(0,1,1,0,1,1,0,0),
-(0,1,1,0,1,1,0,0),
-(1,1,1,0,1,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,1,1,1,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,1,1,1,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,1,1,0),
-(1,1,0,1,1,0,1,1),
-(1,1,0,1,1,0,1,1),
-(0,1,1,1,1,1,1,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,1,1,0),
-(0,0,0,0,1,1,0,0),
-(0,1,1,1,1,1,1,0),
-(1,1,0,1,1,0,1,1),
-(1,1,0,1,1,0,1,1),
-(0,1,1,1,1,1,1,0),
-(0,1,1,0,0,0,0,0),
-(1,1,0,0,0,0,0,0)),
-(
-(0,0,1,1,1,0,0,0),
-(0,1,1,0,0,0,0,0),
-(1,1,0,0,0,0,0,0),
-(1,1,1,1,1,0,0,0),
-(1,1,0,0,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(0,0,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,1,1,1,1,0,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(1,1,0,0,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,1,1,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,1,1,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,1,1,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,1,1,1,1,1,1,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,1,1,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,1,1,0,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0),
-(1,1,1,1,1,1,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,1,1,1,0),
-(0,0,0,1,1,0,1,1),
-(0,0,0,1,1,0,1,1),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(1,1,0,1,1,0,0,0),
-(1,1,0,1,1,0,0,0),
-(0,1,1,1,0,0,0,0)),
-(
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,1,1,1,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,0,1,1,0),
-(1,1,0,1,1,1,0,0),
-(0,0,0,0,0,0,0,0),
-(0,1,1,1,0,1,1,0),
-(1,1,0,1,1,1,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,1,1,1,0,0,0),
-(0,1,1,0,1,1,0,0),
-(0,1,1,0,1,1,0,0),
-(0,0,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,1,1,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,1,1,1,1),
-(0,0,0,0,1,1,0,0),
-(0,0,0,0,1,1,0,0),
-(0,0,0,0,1,1,0,0),
-(1,1,1,0,1,1,0,0),
-(0,1,1,0,1,1,0,0),
-(0,0,1,1,1,1,0,0),
-(0,0,0,1,1,1,0,0)),
-(
-(0,1,0,1,1,0,0,0),
-(0,1,1,0,1,1,0,0),
-(0,1,1,0,1,1,0,0),
-(0,1,1,0,1,1,0,0),
-(0,1,1,0,1,1,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,1,1,1,0,0,0,0),
-(1,0,0,1,1,0,0,0),
-(0,0,1,1,0,0,0,0),
-(0,1,1,0,0,0,0,0),
-(1,1,1,1,1,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,1,1,1,1,0,0),
-(0,0,1,1,1,1,0,0),
-(0,0,1,1,1,1,0,0),
-(0,0,1,1,1,1,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)),
-(
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0),
-(0,0,0,0,0,0,0,0)));
-
-{$endif go32v2}
-{$else oldfont}
 CONST
    DefaultFontData: Array[#0..#255] of TBitmapChar = (
 (
@@ -4635,11 +2321,12 @@ CONST
 (0,0,0,0,0,0,0,0))
 );
 
-{$endif oldfont}
-
 {
   $Log$
-  Revision 1.2  2000-07-13 11:33:46  michael
+  Revision 1.3  2001-04-23 18:25:45  peter
+    * m68k updates
+
+  Revision 1.2  2000/07/13 11:33:46  michael
   + removed logs
- 
+
 }
diff --git a/rtl/inc/heaptrc.pp b/rtl/inc/heaptrc.pp
index 261768d9aa..0e4bfff422 100644
--- a/rtl/inc/heaptrc.pp
+++ b/rtl/inc/heaptrc.pp
@@ -719,7 +719,7 @@ var
    data_end : cardinal;external name '__data_end__';
 {$endif}
 
-procedure CheckPointer(p : pointer);[public, alias : 'FPC_CHECKPOINTER'];
+procedure CheckPointer(p : pointer);[saveregisters, public, alias : 'FPC_CHECKPOINTER'];
 var
   i  : longint;
   pp : pheap_mem_info;
@@ -728,9 +728,6 @@ var
 label
   _exit;
 begin
-  asm
-     pushal
-  end;
   if p=nil then
     goto _exit;
 
@@ -835,11 +832,6 @@ begin
   writeln(ptext^,'pointer $',hexstr(longint(p),8),' does not point to valid memory block');
   runerror(204);
 _exit:
-  asm
-     popal
-     { avoid 386DX popad bug }
-     nop
-  end;
 end;
 
 {*****************************************************************************
@@ -1154,7 +1146,10 @@ finalization
 end.
 {
   $Log$
-  Revision 1.12  2001-04-21 12:18:09  peter
+  Revision 1.13  2001-04-23 18:25:44  peter
+    * m68k updates
+
+  Revision 1.12  2001/04/21 12:18:09  peter
     * add nop after popa (merged)
 
   Revision 1.11  2001/04/13 18:05:34  peter
diff --git a/rtl/inc/int64.inc b/rtl/inc/int64.inc
index 82f5c1f7d5..1e0af24a91 100644
--- a/rtl/inc/int64.inc
+++ b/rtl/inc/int64.inc
@@ -115,12 +115,15 @@
       var
          sign : boolean;
          q1,q2 : qword;
+{$ifdef SUPPORT_COMP}
          c : comp;
+{$endif}
 
       begin
          if n=0 then
            HandleErrorFrame(200,get_frame);
          { can the fpu do the work? }
+{$ifdef support_comp}
          if fpuint64 then
            begin
               // the c:=comp(...) is necessary to shut up the compiler
@@ -128,6 +131,7 @@
               divint64:=qword(c);
            end
          else
+{$endif}
            begin
               sign:=false;
               if z<0 then
@@ -262,9 +266,12 @@
       var
          sign : boolean;
          q1,q2,q3 : qword;
+{$ifdef support_comp}
          c : comp;
+{$endif}
 
       begin
+{$ifdef support_comp}
          { can the fpu do the work ? }
          if fpuint64 and not(checkoverflow) then
            begin
@@ -273,6 +280,7 @@
               mulint64:=int64(c);
            end
          else
+{$endif}
            begin
               sign:=false;
               if f1<0 then
@@ -477,7 +485,10 @@
 
 {
   $Log$
-  Revision 1.9  2001-04-13 22:30:04  peter
+  Revision 1.10  2001-04-23 18:25:45  peter
+    * m68k updates
+
+  Revision 1.9  2001/04/13 22:30:04  peter
     * remove warnings
 
   Revision 1.8  2001/03/03 12:39:09  jonas
diff --git a/rtl/inc/real2str.inc b/rtl/inc/real2str.inc
index e13754d315..f92dfdbd32 100644
--- a/rtl/inc/real2str.inc
+++ b/rtl/inc/real2str.inc
@@ -85,7 +85,7 @@ var
     until carry = 0;
   end;
 
-  procedure getIntPart(d: extended);
+  procedure getIntPart(d: valreal);
   var
     intPartStack: TIntPartStack;
     stackPtr, endStackPtr, digits: longint;
@@ -403,7 +403,10 @@ end;
 
 {
   $Log$
-  Revision 1.2  2000-07-13 11:33:45  michael
+  Revision 1.3  2001-04-23 18:25:45  peter
+    * m68k updates
+
+  Revision 1.2  2000/07/13 11:33:45  michael
   + removed logs
- 
+
 }
diff --git a/rtl/inc/rtti.inc b/rtl/inc/rtti.inc
index a92b652049..2f90b4d318 100644
--- a/rtl/inc/rtti.inc
+++ b/rtl/inc/rtti.inc
@@ -85,11 +85,17 @@ TArrayRec = record
 
 { The actual Routines are implemented per processor. }
 
+{ Include the cpu dependant part }
 {$i rttip.inc}
+{ Include the generic part }
+{$i genrtti.inc}
 
 {
   $Log$
-  Revision 1.3  2000-10-21 18:20:17  florian
+  Revision 1.4  2001-04-23 18:25:45  peter
+    * m68k updates
+
+  Revision 1.3  2000/10/21 18:20:17  florian
     * a lot of small changes:
        - setlength is internal
        - win32 graph unit extended
diff --git a/rtl/inc/systemh.inc b/rtl/inc/systemh.inc
index 78e86dff27..1dbf62d919 100644
--- a/rtl/inc/systemh.inc
+++ b/rtl/inc/systemh.inc
@@ -76,6 +76,7 @@ Type
   ValReal = Real;
 
   {$define SUPPORT_SINGLE}
+  {$define SUPPORT_DOUBLE}
 {$endif}
 
 { Zero - terminated strings }
@@ -153,14 +154,14 @@ const
 
 { Compatibility With  TP }
 const
+  { code to use comps in int64mul and div code is commented out! (JM) }
+  FPUInt64 : boolean = false; { set this to false if you don't want that }
+                              { the fpu does int64*int64 and             }
+                              { int64 div int64, if the * is overflow    }
+                              { checked, it is done in software          }
 {$ifdef i386}
   Test8086 : byte = 2;       { Always i386 or newer }
   Test8087 : byte = 3;       { Always 387 or newer. Emulated if needed. }
-  { code to use comps in int64mul and div code is commented out! (JM) }
-  FPUInt64 : boolean = false; { set this to false if you don't want that }
-                             { the fpu does int64*int64 and             }
-                             { int64 div int64, if the * is overflow    }
-                             { checked, it is done in software          }
 {$endif i386}
 {$ifdef m68k}
   Test68000 : byte = 0;      { Must be determined at startup for both }
@@ -491,7 +492,10 @@ const
 
 {
   $Log$
-  Revision 1.19  2001-04-13 18:06:07  peter
+  Revision 1.20  2001-04-23 18:25:45  peter
+    * m68k updates
+
+  Revision 1.19  2001/04/13 18:06:07  peter
     * upcase, lowercase for ansistring
 
   Revision 1.18  2001/03/22 23:26:05  florian