--- /dev/null
+#!/usr/bin/awk -f
+
+BEGIN {
+ FS = ","
+ s = 0
+}
+
+{
+ for (f = 1; f <= NF; f++) {
+ split($(f), r, "-")
+ for (i = r[1]; i <= r[2]; i++) {
+ n = int(log(i) / log(10) + 1)
+ if (n % 2 == 0) {
+ N = 10^(n / 2)
+ #print N, i % N, int(i / N)
+ if (i % N == int(i / N)) {
+ print i
+ s += i
+ }
+ }
+ }
+ }
+}
+
+END {
+ print "sum", s
+}
--- /dev/null
+5959566378-5959623425,946263-1041590,7777713106-7777870316,35289387-35394603,400-605,9398763-9592164,74280544-74442206,85684682-85865536,90493-179243,202820-342465,872920-935940,76905692-76973065,822774704-822842541,642605-677786,3759067960-3759239836,1284-3164,755464-833196,52-128,3-14,30481-55388,844722790-844967944,83826709-83860070,9595933151-9595993435,4216-9667,529939-579900,1077949-1151438,394508-486310,794-1154,10159-17642,5471119-5683923,16-36,17797-29079,187-382
--- /dev/null
+11-22,95-115,998-1012,1188511880-1188511890,222220-222224,1698522-1698528,446443-446449,38593856-38593862,565653-565659,824824821-824824827,2121212118-2121212124
--- /dev/null
+#!/usr/bin/awk -f
+
+BEGIN {
+ FS = ","
+ mode = 1
+ s = 0
+}
+
+{
+ for (f = 1; f <= NF; f++) {
+ split($(f), r, "-")
+ for (i = r[1]; i <= r[2]; i++) {
+ n = int(log(i) / log(10) + 1)
+ m = mode ? 1 : int((n + 1) / 2)
+ for (j = m; j <= n / 2; j++) {
+ if (n % j == 0) {
+ N = 10^j
+ k = i % N
+ v = 0
+ for (l = 0; l < n / j; l++) {
+ v = v * N + k
+ }
+ if (v == i) {
+ print i
+ s += i
+ break
+ }
+ }
+ }
+ }
+ }
+}
+
+END {
+ print "sum", s
+}