Extraction of semiconductor dopant profiles from spreading resistance data: An inverse problem