Set UILabel text through script

So, i am making an app where in i want to make a popup window showing some basic math equation. I want the numbers to change everytime i get that window.

Even though i know how to make the window, i am stuck at setting the label text dynamically. Oh, and i am using NGUI.

This is what i’m trying:

public class childlocktest : MonoBehaviour {

public int a; 
public int b; 
public UILabel lbl;
// Use this for initialization
void Start () {
	a = Random.Range(0, 4); 
	b = Random.Range(0, 4);
}

// Update is called once per frame
void Update () {

	lbl.text = a.ToString() + b.ToString();

}

}

but i am getting an error saying
" ArgumentException: RandomRangeInt can only be called fromt he main thread". Can somebody help?
Also, where do i attach this script? The label itself or somewhere else(like the UIRoot)?

Put an empty gameobject on the scene and mobe around.
There is no update on a and b.
Do a try catch on both random range maybe the problem is somewhere else.

Thanks mate, i solved it. You were right, there was no update in a and b.