anchor.diff:  
   ;; は in the middle
   (def-simple-hint
  -    (2101500 ;; 無い袖は振れぬ
  -     2118440 ;; なにはなくとも
  -     2118430 ;; なにはともあれ
  -     2152710 ;; わたるせけんにおにはない
  -     2216540 ;; せにはらはかえられぬ
  -     2757560 ;; よいごしのぜにはもたない
  -     2424500 ;; もくてきのためにはしゅだんをえらばない
  -     2078950 ;; せにはらはかえられない
  -     2118120 ;; なにはさておき
  -     2108910 ;; かたいことはいいっこなし
  -     2403520 ;; どうということはない
  -     2411180 ;; ようじんするにこしたことはない
  -     2419710 ;; きくとみるとはおおちがい
  -     2585230 ;; ことはない
  -     1008970 ;; どうってことはない
  -     2418060 ;; いろごとはしあんのほか
  -     2418490 ;; せけんのくちにとはたてられぬ
  -     2761670 ;; さきのことはわからない
  -     2419270 ;; にどあることはさんどある
  -     2600530 ;; それとはなしに
  -     2670900 ;; おせじにもうまいとはいえない
  -     2135530 ;; ほどのことはない
  -     2136710 ;; ということはない
  -     2708230 ;; なんのことはない
  -     1188440 ;; なんとはなしに
  -     2741810 ;; いいあとはわるい
  -     2195810 ;; にこしたことはない
  -     2418280 ;; ひとはなさけ
  -     2419410 ;; ばかとはさみはつかいよう
  -     2416580 ;; わるいことはできぬもの
  -     2417180 ;; みるときくとはおおちがい
  -     2418220 ;; ひとのくちにとはたてられず
  -     2826812 ;; わるいことはいわない
  -     2420010 ;; ようじんにこしたことはない
  -     2792090 ;; しょうきとはおもえない
  -     1949380 ;; むりはない
  -     2209690 ;; おとこににごんはない
  -     2210960 ;; かちめはない
  -     2418900 ;; ただよりたかいものはない
  -     2420110 ;; れいがいのないきそくはない
  -     2419420 ;; ばかにつけるくすりはない
  -     2419970 ;; よのじしょにふかのうというもじはない
  -     2641030 ;; あいてにとってふそくはない
  -     2744840 ;; ざまはない
  -     2747300 ;; タダめしはない
  -     2418900 ;; タダよりたかいものはない
  -     2747300 ;; ただめしはない
  -     2798610 ;; おみきあがらぬかみはない
  -     1638390 ;; ようじんするにしくはない
  -     2089750 ;; なにかいいてはないか
  -     2442180 ;; いのちにべつじょうはない
  -     1193090 ;; かほうはねてまて
  -     1238480 ;; ごうにいってはごうにしたがえ
  -     1338260 ;; でるくぎはうたれる
  -     1394290 ;; ぜんはいそげ
  -     1471680 ;; ばかはしななきゃなおらない
  -     1566340 ;; へとかじはもとからさわぐ
  -     1855940 ;; あいさつはぬきで
  -     1900670 ;; ねはおとなしい
  -     1981600 ;; いっすんさきはやみ
  -     1982230 ;; それはそうと
  -     1985430 ;; でるくいはうたれる
  -     2593830 ;; それはそうとして
  -     2018320 ;; ないよりはまし
  -     2062980 ;; ありはしない
  -     2078930 ;; さいはなげられた
  -     2083430 ;; うりのつるになすびはならぬ
  -     2089520 ;; それはどうも
  -     2089620 ;; それはさておき
  -     2093380 ;; てきはほんのうじにあり
  -     2098150 ;; なくてはならない
  -     2109530 ;; けいぞくはちからなり
  -     2111700 ;; じじつはしょうせつよりきなり
  -     2113730 ;; えんはいなものあじなもの
  -     2113740 ;; えんはいなもの
  -     2115570 ;; それはどうかな
  -     2125770 ;; そのてはくわない
  -     2130410 ;; すまじきものはみやづかえ
  -     2134480 ;; こいはもうもく
  -     2140350 ;; ときはかねなり
  -     2140990 ;; あおはあいよりいでてあいよりあおし
  -     2141360 ;; きはこころ
  -     2152850 ;; やまいはきから
  -     2152960 ;; こうのくすりはおつのどく
  -     2159970 ;; こうきしんはねこをもころす
  -     2159990 ;; あまいものはべつばら
  -     2168350 ;; ペンはけんよりもつよし
  -     2168360 ;; たげいはむげい
  -     2173880 ;; いまはむかし
  -     2174570 ;; しくはなし
  -     2176450 ;; いまはこれまで
  -     2176630 ;; せんきんのきゅうはいっこのえきにあらず
  -     2177220 ;; たからさかっているときはさかってでる
  -     2177240 ;; たからはわきもの
  -     2200690 ;; こはかすがい
  -     2213470 ;; それはそれで
  -     2255320 ;; なくてはいけない
  -     2275900 ;; ものはいいよう
  -     2408680 ;; くるものはこばまず
  -     2416650 ;; ころもばかりでおしょうはできぬ
  -     2416680 ;; いっせんをわらうものはいっせんになく
  -     2416870 ;; きはもちよう
  -     2416930 ;; さるものはおわず
  -     2417040 ;; きんぎんはまわりもち
  -     2417140 ;; ちはみずよりもこい
  -     2417150 ;; ちはあらそえない
  -     2784400 ;; かにはこうらににせてあなをほる
  -     2418270 ;; ひとはみかけによらぬもの
  -     2219580 ;; ねごとはねてからいえ
  -     2418250 ;; ひとはパンのみにていくるものにあらず
  -     2417270 ;; あとはのとなれやまとなれ
  -     2178680 ;; だすことはしたをだすもきらい
  -     2417540 ;; きのうのともはきょうのてき
  -     2417580 ;; さんしょうはこつぶでもぴりりとからい
  -     2417750 ;; まかぬたねははえぬ
  -     2417760 ;; しかをおうものはやまをみず
  -     2417980 ;; しょうじはだいじ
  -     2418090 ;; ねるこはそだつ
  -     2418100 ;; ねるほどらくはなかりけり
  -     2418500 ;; せけんはひろいようでせまい
  -     2418600 ;; せいあるものはかならずしあり
  -     2418700 ;; せんだんはふたばよりかんばし
  -     2418720 ;; ぜんしゃのくつがえるはこうしゃのいましめ
  -     2418800 ;; そのときはそのとき
  -     2418840 ;; まつみはながい
  -     2418920 ;; たんきはそんき
  -     2418970 ;; しらぬはていしゅばかりなり
  -     2419030 ;; ちょうしょはたんしょ
  -     2419060 ;; つりおとしたさかなはおおきい
  -     2419190 ;; にがしたさかなはおおきい
  -     2419260 ;; にとをおうものはいっとをもえず
  -     2419350 ;; としはあらそえない
  -     2419390 ;; うまはうまづれ
  -     2419450 ;; いたごいちまいしたはじごく
  -     2419530 ;; ふうふげんかはいぬもくわない
  -     2419590 ;; ものはかんがえよう
  -     2419600 ;; ものはつかいよう
  -     2419610 ;; ものはためし
  -     2419620 ;; ものはそうだん
  -     2419690 ;; ぶんはひとなり
  -     2419730 ;; たよりのないのはよいたより
  -     2419800 ;; なのないほしはよいからでる
  -     2420120 ;; れきしはくりかえす
  -     2420180 ;; もちはもちや
  -     2420190 ;; おごるへいけはひさしからず
  -     2570900 ;; わらでたばねてもおとこはおとこ
  -     2580730 ;; ちはちからなり
  -     2582770 ;; きおうはとがめず
  -     2583560 ;; きってはきれない
  -     2593830 ;; それはそうとして
  -     2618920 ;; いきみはしにみ
  -     2618990 ;; むちはこうふく
  -     2694370 ;; ころんでもただはおきない
  -     2716900 ;; そうはいかない
  -     2737650 ;; ゆだんはきんもつ
  -     2738830 ;; おきゃくさまはかみさまです
  -     2758920 ;; たっているものはおやでもつかえ
  -     2776820 ;; りくつとこうやくはどこへでもつく
  -     2783090 ;; うたがわしきはばっせず
  -     2789240 ;; うそとぼうずのあたまはゆったことがない
  -     2797740 ;; いちえんをわらうものはいちえんになく
  -     2827424 ;; きはさらさらない
  -     2827754 ;; おとこはだまって
  -     2833986 ;; あくにつよいはぜんにもつよい
  -     2833961 ;; 梅は食うとも核食うな中に天神寝てござる
  -     2833957 ;; 老兵は死なず只消え去るのみ
  -     2833956 ;; 山より大きな猪は出ぬ
  -     2833597 ;; 君子は豹変す
  -     2831359 ;; 無くてはいけません
  -     2830029 ;; 明けない夜は無い
  -     2828308 ;; 吐いた唾は飲めぬ
  -     2419120 ;; 転んでもただは起きぬ
  -     2111710 ;; 事実は小説よりも奇なり
  +    (1008970 ;; "どうってことはない" "どうってことはない")
  +     1188440 ;; "何とはなしに" "なんとはなしに")
  +     1193090 ;; "果報は寝て待て" "かほうはねてまて")
  +     1394290 ;; "善は急げ" "ぜんはいそげ")
  +     1855940 ;; "挨拶は抜きで" "あいさつはぬきで")
  +     1900670 ;; "根はおとなしい" "ねはおとなしい")
  +     1949380 ;; "無理はない" "むりはない")
  +     1981600 ;; "一寸先は闇" "いっすんさきはやみ")
  +     1982230 ;; "其れはそうと" "それはそうと")
  +     2018320 ;; "無いよりはまし" "ないよりはまし")
  +     2062980 ;; "ありゃしない" "ありゃしない")
  +     2078930 ;; "賽は投げられた" "さいはなげられた")
  +     2089520 ;; "それはどうも" "それはどうも")
  +     2089620 ;; "それはさておき" "それはさておき")
  +     2098150 ;; "無くてはならない" "なくてはならない")
  +     2108910 ;; "かたいことは言いっこなし" "かたいことはいいっこなし")
  +     2115570 ;; "それはどうかな" "それはどうかな")
  +     2118120 ;; "何はさておき" "なにはさておき")
  +     2118430 ;; "何はともあれ" "なにはともあれ")
  +     2118440 ;; "何は無くとも" "なにはなくとも")
  +     2134480 ;; "恋は盲目" "こいはもうもく")
  +     2135530 ;; "ほどの事はない" "ほどのことはない")
  +     2136710 ;; "と言うことはない" "ということはない")
  +     2141360 ;; "気は心" "きはこころ")
  +     2168360 ;; "多芸は無芸" "たげいはむげい")
  +     2173880 ;; "今は昔" "いまはむかし")
  +     2174570 ;; "如くは無し" "しくはなし")
  +     2176450 ;; "今はこれまで" "いまはこれまで")
  +     2177240 ;; "宝は湧き物" "たからはわきもの")
  +     2200690 ;; "子は鎹" "こはかすがい")
  +     2210960 ;; "勝ち目はない" "かちめはない")
  +     2213470 ;; "それはそれで" "それはそれで")
  +     2255320 ;; "無くてはいけない" "なくてはいけない")
  +     2275900 ;; "ものは言いよう" "ものはいいよう")
  +     2403520 ;; "どうという事はない" "どうということはない")
  +     2408680 ;; "来る者は拒まず" "くるものはこばまず")
  +     2416870 ;; "気は持ちよう" "きはもちよう")
  +     2416930 ;; "去る者は追わず" "さるものはおわず")
  +     2417040 ;; "金銀は回り持ち" "きんぎんはまわりもち")
  +     2417150 ;; "血は争えない" "ちはあらそえない")
  +     2417980 ;; "小事は大事" "しょうじはだいじ")
  +     2418090 ;; "寝る子は育つ" "ねるこはそだつ")
  +     2418280 ;; "人は情け" "ひとはなさけ")
  +     2418800 ;; "その時はその時" "そのときはそのとき")
  +     2418840 ;; "待つ身は長い" "まつみはながい")
  +     2418920 ;; "短気は損気" "たんきはそんき")
  +     2419030 ;; "長所は短所" "ちょうしょはたんしょ")
  +     2419350 ;; "年は争えない" "としはあらそえない")
  +     2419390 ;; "馬は馬連れ" "うまはうまづれ")
  +     2419590 ;; "ものは考えよう" "ものはかんがえよう")
  +     2419600 ;; "物は使いよう" "ものはつかいよう")
  +     2419610 ;; "物は試し" "ものはためし")
  +     2419620 ;; "ものは相談" "ものはそうだん")
  +     2420180 ;; "餠は餠屋" "もちはもちや")
  +     2583560 ;; "切っては切れない" "きってはきれない")
  +     2585230 ;; "事はない" "ことはない")
  +     2593830 ;; "其れはそうとして" "それはそうとして")
  +     2600530 ;; "其とはなしに" "それとはなしに")
  +     2618920 ;; "生き身は死に身" "いきみはしにみ")
  +     2618990 ;; "無知は幸福" "むちはこうふく")
  +     2708230 ;; "何のことはない" "なんのことはない")
  +     2716900 ;; "そうは行かない" "そうはいかない")
  +     2737650 ;; "油断は禁物" "ゆだんはきんもつ")
  +     2741810 ;; "いい後は悪い" "いいあとはわるい")
  +     2744840 ;; "様はない" "ざまはない")
  +     2747300 ;; "タダ飯はない" "タダめしはない")
  +     2827424 ;; "気はさらさらない" "きはさらさらない")
  +     2827754 ;; "男は黙って" "おとこはだまって")
  +     2831359 ;; "無くてはいけません" "なくてはいけません")
  +     2833597 ;; "君子は豹変す" "くんしはひょうへんす")
        )
       (l k)
     (ha (search "は" k :from-end t))
  
positive.code:   (:mod ha)
    (:space (1+ ha)))
  
  (def-simple-hint
      (2108440 ;; あやまちてはすなわちあらたむるにはばかることなかれ
       2417420 ;; ふりかかるひのこははらわねばならぬ
       )
      (l k)
    (ha (search "は" k))
    (:space ha)
    (:mod ha)
    (:space (1+ ha)))
  
  
  ;; Easy hints!
  
  ;; は は
  
  
negative.code:                    for part in parts
                     unless (zerop pos)
                     collect (list :space pos)
                     and if (find part '("は" "へ" "には" "とは") :test 'equal)
                         collect (list :mod (+ pos (length part) -1))
                     do (incf pos (length part))))
           (reading-var (gensym "RV")))
      (alexandria:with-gensyms (match kr rtext)
  