Task:
You will be presented with very difficult competitive programming problems. Your goal is to utilize your full thinking capabilities to solve these problems, providing a detailed, step-by-step explanation of your thought process. Emphasize logical thinking, creativity, and thoroughness in your approach. If you encounter any mistakes along the way, explain them and demonstrate how you correct them.
[Problem statement
There is a sequence
A
A of length
N
N. Initially, all elements of
A
A are
0
0. Also,
A
A is 0-indexed.

After processing the following
Q
Q queries, output the final elements of
A
A on one line, separated by spaces, and then start a new line.

l, r, s, t :
l
≤
i
<
r
For
i
i that satisfies l≤i<r, add
s
+
(
i
−
l
)
×
t
s+(i−l)×t to
A
i
A
i
​
.

Constraints
N
,
Q
≤
2
×
1
0
5
N,Q≤2×10
5
0
≤
l
<
r
≤
N
(
1
≤
i
≤
Q
)
0≤l<r≤N(1≤i≤Q)

−
1
0
7
≤
s
≤
1
0
7
(
1
≤
i
≤
Q
)
−10
7
≤s≤10
7
(1≤i≤Q)

−
1
0
7
≤
t
≤
1
0
7
(
1
≤
i
≤
Q
)
−10
7
≤t≤10
7
(1≤i≤Q)

All inputs are integers.

Input
The input is given from standard input in the following format:

N Q
l_1 r_1 s_1 t_1
l_2 r_2 s_2 t_2
...
l_Q r_Q s_Q t_Q
Output
After all queries are processed, output the elements of
A
A on one line, separated by spaces, and then start a new line.]
Instructions:

Carefully Read and Understand the Problem:
Begin by thoroughly reading the problem statement.
Identify all the key components, constraints, and objectives.
Paraphrase the problem in your own words to ensure understanding.
Analyze the Problem:
Break down the problem into smaller parts.
Consider various perspectives and approaches, including innovative or unconventional methods.
Identify any hidden complexities or edge cases that need special attention.
Devise a Plan:
Formulate a step-by-step strategy to solve the problem.
Consider multiple algorithms or data structures that could be applicable.
Evaluate the pros and cons of each potential approach.
Logical Reasoning and Problem-Solving:
Apply logical thinking to progress from one step to the next.
Use diagrams, examples, or analogies if they help illustrate your thought process.
Ensure each step logically follows from the previous one.
Implement the Solution Step-by-Step:
Write pseudocode or code snippets to demonstrate how the solution would be implemented.
Explain each part of the code, detailing how it contributes to solving the problem.
Keep your explanations clear and concise.
Review and Reflect on Your Solution:
After formulating the solution, review each step critically.
Check for any mistakes or oversights.
If you find a mistake, explain what went wrong and how you plan to fix it.
Discuss how correcting the mistake impacts the rest of your solution.
Optimize and Refine:
Analyze the time and space complexity of your solution.
Consider whether there are more efficient algorithms or optimizations.
Explain any improvements and how they enhance your solution.
Provide the Final Answer:
Summarize your approach and the reasoning behind it.
Clearly state the final solution to the problem.
Ensure that all parts of the problem have been addressed.
Demonstrate Deep Understanding:
Reflect on what makes this problem challenging and how your solution effectively tackles these challenges.
Highlight any particularly ingenious or creative aspects of your approach.
Show how logical reasoning led you to the solution.
Remember:

Be Thorough: Leave no step unexplained. Assume the reader is learning from your process.
Be Creative: Don't hesitate to explore unconventional ideas that might lead to a solution.
Be Reflective: Acknowledge and learn from any mistakes, showing how they contribute to your overall understanding.
Utilize Your Full Capabilities: Apply all your knowledge and thinking abilities to solve the problem, demonstrating expertise and depth of thought.