  A shredded document $D$ is a document whose pages have been cut into strips
for the purpose of destroying private, confidential, or sensitive information
$I$ contained in $D$. Shredding has become a standard means of government
organizations, businesses, and private individuals to destroy archival records
that have been officially classified for disposal. It can also be used to
destroy documentary evidence of wrongdoings by entities who are trying to hide
$I$.
  In this paper, we present an optimal $O((n\times m)^2)$ algorithm $A$ that
reconstructs an $n$-page $D$, where each page $p$ is shredded into $m$ strips.
We also present the efficacy of $A$ in reconstructing three document types:
hand-written, machine typed-set, and images.
