我的代码是否可以改进以更快地得到结果并避免以下代码中的时间限制超出错误?
t=int(input())
c=((10**9)+7)
for i in range(t):
n=int(input())
a=list(range(1,n+1))
while len(a)>1:
m = ((a[0])+(a[1])+(a[0]*a[1]))%c
del a[0]
del a[0]
a.append(m)
print(a[0]%c)