Motor, XBee, LCD, and LiPO Shields Stacking on Arduino Uno

I have a Genuino Uno. I am trying to connect four shields to it (pin info next paragraph): an Adafruit Motor Shield (Overview | Adafruit Motor Shield V2 | Adafruit Learning System), an XBee Shield (SparkFun XBee Shield - WRL-12847 - SparkFun Electronics), an LCD (LCD Button Shield V2 - DEV-13293 - SparkFun Electronics), and a LiPower (SparkFun LiPower Shield - DEV-13158 - SparkFun Electronics).

The Adafruit site says the motor shield uses I2C pins, but the Arduino site says it uses all of the Digital pins. I think it uses the I2C pins, but can anyone correct me on that? The XBee shield uses D0 and D1. The LiPower uses I2C and D2. The LCD uses any 6 of the 13 Digital pins. Supposedly, mutliple shields can be connected to the I2C pins.

From my own research, partly from these forums, I think I can connect all of these shields, but I want to make sure and was wondering if anyone could tell me if I can or can't?

(It's an issue of pins, as board height compared to header height is not a concern as I am using wires between shields.)