#!/usr/bin/pike // contributed by martin nilsson void main(int n, array args) { foreach(args[1..], string arg) { mapping r = ([]); foreach(Math.factor((int)arg), int f) r[f]++; write("%-10s", arg); if(sizeof(r)==1) write(" PRIME"); else { foreach(sort(indices(r)), int f) { write(" %d", f); if(r[f]>1) write("**%d", r[f]); } } write("\n"); } }