# https://github.com/mame/doublehelix
$code = ""
Object.instance_eval do
  def const_missing(s); $code << s.to_s; 0; end
  remove_const(:GC)  # Holy moly!
end
at_exit do
  dict = { "AT"=>"00", "CG"=>"01", "GC"=>"10", "TA"=>"11" }
  eval([$code.gsub(/../) {|s| dict[s] }].pack("b*"))
end


 AT
A--T
T---A
G----C
 G----C
  G----C
   T---A
    G--C
     AT
     GC
    T--A
   G---C
  T----A
 A----T
T----A
G---C
A--T
 AT
 CG
A--T
T---A
A----T
 C----G
  G----C
   G---C
    A--T
     CG
     GC
    T--A
   A---T
  T----A
 G----C
G----C
G---C
C--G
 GC
 AT
A--T
C---G
A----T
 T----A
  G----C
   C---G
    G--C
     GC
     GC
    C--G
   G---C
  A----T
 G----C
T----A
G---C
T--A
 AT
 TA
G--C
T---A
C----G
 G----C
  G----C
   A---T
    A--T
     TA
     AT
    G--C
   T---A
  G----C
 G----C
C----G
C---G
A--T
 AT
 AT
A--T
C---G
A----T
 A----T
  A----T
   C---G
    A--T
     TA
     GC
    T--A
   G---C
  A----T
 C----G
C----G
G---C
G--C
 GC
 CG
G--C
C---G
T----A
 C----G
  G----C
   A---T
    A--T
     CG
     AT
    T--A
   T---A
  T----A
 A----T
G----C
A---T
A--T
 GC
 TA
C--G
T---A
A----T
 A----T
  A----T
   C---G
    A--T
     TA
     TA
    T--A
   A---T
  A----T
 G----C
G----C
G---C
C--G
 CG
 AT
A--T
A---T
A----T
 C----G
  A----T
   A---T
    A--T
     CG
     AT
    T--A
   G---C
  T----A
 G----C
A----T
C---G
C--G
 GC
 GC
G--C
C---G
G----C
 C----G
  T----A
   C---G
    G--C
     AT
     AT
    C--G
   A---T
  T----A
 T----A
T----A
A---T
A--T
 GC
 GC
G--C
T---A
C----G
 T----A
  A----T
   A---T
    A--T
     CG
     AT
    T--A
   T---A
  T----A
 A----T
G----C
A---T
A--T
 GC
 CG
C--G
A---T
A----T
 A----T
  A----T
   C---G
    A--T
     AT
     AT
    C--G
   A---T
  T----A
 G----C
T----A
G---C
A--T
 CG
 CG
G--C
G---C
G----C
 C----G
  G----C
   C---G
    T--A
     CG
     GC
    A--T
   A---T
  C----G
 A----T
T----A
T---A
T--A
 AT
 TA
G--C
A---T
G----C
 T----A
  C----G
   T---A
    A--T
     AT
     AT
    C--G
   A---T
  T----A
 T----A
T----A
A---T
T--A
 AT
 AT
G--C
C---G
C----G
 A----T
  A----T
   A---T
    A--T
     CG
     AT
    A--T
   A---T
  C----G
 A----T
T----A
G---C
T--A
 GC
 AT
C--G
C---G
G----C
 G----C
  G----C
   C---G
    G--C
     CG
     TA
    C--G
   G---C
  A----T
 A----T
C----G
A---T
T--A
 TA
 TA
A--T
T---A
A----T
 A----T
  G----C
   T---A
    C--G
     TA
     AT
    A--T
   A---T
  C----G
 A----T
T----A
T---A
T--A
 AT
 TA
G--C
A---T
G----C
 C----G
  C----G
   A---T
    A--T
     GC
     GC
    C--G
   G---C
  C----G
 T----A
C----G
G---C
A--T
 GC
 CG
G--C
C---G
C----G
 A----T
  A----T
   C---G
    C--G
     AT
     AT
