import Control.Monad
import qualified Data.ByteString.Char8 as BS
import Data.List
import Data.Maybe

readInt = fromIntegral . fst . fromJust . BS.readInteger
readIntList = map readInt . BS.words

getInt = readInt <$> BS.getLine
getIntList = readIntList <$> BS.getLine
getIntNList n = map readIntList <$> replicateM (fromIntegral n) BS.getLine

calc :: [Int] -> [Int] -> [[Int]] -> Int -> Int
calc as bs [] x = x
calc as bs ([s, t, u] : css) x
  | val < x = calc as bs css val
  | otherwise = calc as bs css x
  where
    val = as !! (s - 1) + bs !! (t - 1) - u

main = do
  [a, b, m] <- getIntList
  as <- getIntList
  bs <- getIntList
  css <- getIntNList m
  let noCoupon = minimum as + minimum bs
  print $ calc as bs css noCoupon
