R programming - write a pair of functions that cache the inverse of a matrix