Why gradient came out None?

I made computation graph for simple funtion.
function y=3*(x**2) + 4*x+2

however, PyTorch code as follows,
The gradient for ‘x’ came out as 22, but why does the gradient for ‘a’ come out as None?

I wanted it to come out as 3, but it comes out as None…
How can I make the gradient of a come out?

PyTorch code as follows,
Thanks in advance.

import torch
x = torch.tensor([3.0], requires_grad=True)
a = torch.pow(x,2)
b = torch.mul(3,a)
c = torch.mul(4,x)
y = b+c+2

y.backward()

print(‘x.data:’, x.data)
print(‘x.grad:’, x.grad)
print(‘x.grad_fn:’, x.grad_fn)
print()

print(‘a.data:’, a.data)
print(‘a.grad:’, a.grad)
print(‘a.grad_fn:’, a.grad_fn)

I solved this issue follows as.

a.retain_grad()