A terminal device arranged to receive data and to output content, through at least one of a first network and a second network, the second network being at least one of a network whose communication speed is lower than that of the first network and a network whose communication fee charged according to an amount of communication is higher than that of the first network, the terminal device comprising: a connection determination means arranged to determine whether the terminal device is connected or not connected to the first network; a first storage determination means arranged to determine whether or not first data and second data are stored in a storage means, wherein the first data and the second data relate to the same content and an amount of data of the second data is smaller than that of the first data; a receiving means arranged to: i) receive the first data through the first network when the connection determination means determines that the terminal device is connected to the first network and the first storage determination means determines that the first data is not stored in the storage means; and ii) receive the second data through the second network when the connection determination means determines that the terminal device is not connected to the first network and the first storage determination means determines that neither the first data nor the second data are stored in the storage means; a control means arranged to store data received by the receiving means in the storage means; a deletion means arranged to delete second data stored in the storage means when corresponding first data is stored in the storage means by the control means; and an output means arranged to output the content based on the first data when the first storage determination means determines that the first data is stored in the storage means and to output the content based on the second data when the first storage determination means determines that only the second data is stored in the storage means. a connection determination means arranged to determine whether the terminal device is connected or not connected to the first network; a first storage determination means arranged to determine whether or not first data and second data are stored in a storage means, wherein the first data and the second data relate to the same content and an amount of data of the second data is smaller than that of the first data; a receiving means arranged to: i) receive the first data through the first network when the connection determination means determines that the terminal device is connected to the first network and the first storage determination means determines that the first data is not stored in the storage means; and ii) receive the second data through the second network when the connection determination means determines that the terminal device is not connected to the first network and the first storage determination means determines that neither the first data nor the second data are stored in the storage means; i) receive the first data through the first network when the connection determination means determines that the terminal device is connected to the first network and the first storage determination means determines that the first data is not stored in the storage means; and ii) receive the second data through the second network when the connection determination means determines that the terminal device is not connected to the first network and the first storage determination means determines that neither the first data nor the second data are stored in the storage means; a control means arranged to store data received by the receiving means in the storage means; a deletion means arranged to delete second data stored in the storage means when corresponding first data is stored in the storage means by the control means; and an output means arranged to output the content based on the first data when the first storage determination means determines that the first data is stored in the storage means and to output the content based on the second data when the first storage determination means determines that only the second data is stored in the storage means.