(require 'calc-ext)
(defvar calc-command-flags nil)
(with-temp-buffer
(insert-file-contents-literally (car argv))
(let (name-lst (i 1) (sum 0))
(while (re-search-forward "\"\\([A-Z]+?\\)\"" nil t)
(setq name-lst (cons (match-string-no-properties 1) name-lst)))
(setq name-lst (sort name-lst #'string<))
(while name-lst
(let ((name (car name-lst)) score)
(setq score (apply #'+ (mapcar #'(lambda (char) (1+ (- char ?A))) (append name nil))))
(setq sum (math-add sum (math-mul score i)))
(setq i (1+ i))
(setq name-lst (cdr name-lst))))
(princ (math-format-value sum))
(princ "\n") ))