---
# System prepended metadata

title: Solution bài Dãy số Lipon

---

# Solution bài Dãy số Lipon
## Hint:
- Ta để ý thấy, Dãy số Lipon là một dãy số chu kỳ.
- Chu kỳ này bắt đầu từ số $14$ và kết thúc tại số $6$ và nó lặp lại
## Idea:
- Đầu tiên ta tính tổng dãy số chu kỳ nói trên
- Tạo hàm tính tổng các số của dãy Lipon từ $1$ $\to$ $x$
  - Ta tính xem trong dãy từ $1$ $\to$ $x$ có bao nhiêu dãy chu kỳ. Sau đó ta nhân kết quả tìm được với tổng của chu     kỳ.
  - Việc ta tính tổng như thế sẽ bị thiếu một vài số, nên việc còn lại của chúng ta là cày trâu tính tổng các số còn lại.
- Tính tổng các số của dãy Lipon từ $1$ $\to$ $b$
- Tính tổng các số của dãy Lipon từ $1$ $\to$ $(a-1)$
- In ra tổng từ $1$ $\to$ $b$ trừ cho tổng từ $1$ $\to$ $(a-1)$
## Reference AC code:
```python=
# Tạo dãy chu kỳ

n=14;h=[14];summer=14;n *= 2;n += 2
while n != 14:
    h.append(n)
    summer += n
    n *= 2
    n += 2
    n %= 1000
    
# Hàm tính tổng

def tinhtong(x):
    modify=x%len(h)
    ans = x//len(h)*summer
    index=6
    for i in range(modify):
        index *= 2
        index += 2
        index %= 1000
        ans += index
    return ans

a,b=map(int,input().split())
print(tinhtong(b)-tinhtong(a-1))
```