Preds shoot just enough to get past Flames, win third straight